Import rust-ring_0.17.14-2+rpi1.debian.tar.xz
authorPeter Michael Green <plugwash@raspbian.org>
Thu, 24 Apr 2025 19:36:28 +0000 (19:36 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 24 Apr 2025 19:36:28 +0000 (19:36 +0000)
[dgit import tarball rust-ring 0.17.14-2+rpi1 rust-ring_0.17.14-2+rpi1.debian.tar.xz]

19 files changed:
cargo-checksum.json [new file with mode: 0644]
changelog [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
copyright.debcargo.hint [new file with mode: 0644]
debcargo.toml [new file with mode: 0644]
patches/built-using.patch [new file with mode: 0644]
patches/disable-arm-specific-codepaths.patch [new file with mode: 0644]
patches/disable-slow-tests.patch [new file with mode: 0644]
patches/disable-tests-missing-testdata.patch [new file with mode: 0644]
patches/fix-tests-no-default-features.patch [new file with mode: 0644]
patches/no-js.patch [new file with mode: 0644]
patches/no-wasm-bindgen-test.patch [new file with mode: 0644]
patches/remove-windows.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
tests/control [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/cargo-checksum.json b/cargo-checksum.json
new file mode 100644 (file)
index 0000000..b5623be
--- /dev/null
@@ -0,0 +1 @@
+{"package":"Could not get crate checksum","files":{}}
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..324b130
--- /dev/null
+++ b/changelog
@@ -0,0 +1,120 @@
+rust-ring (0.17.14-2+rpi1) trixie-staging; urgency=medium
+
+  * Disable arm-specific codepaths to avoid armv7 contamination.
+
+ -- Peter Michael Green <plugwash@raspbian.org>  Thu, 24 Apr 2025 19:36:28 +0000
+
+rust-ring (0.17.14-2) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.17.14 from crates.io using debcargo 2.7.8
+  * Fix library name in built-using (Closes: #1103300)
+
+ -- Peter Michael Green <plugwash@debian.org>  Thu, 17 Apr 2025 02:09:18 +0000
+
+rust-ring (0.17.14-1) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.17.14 from crates.io using debcargo 2.7.8
+    + New upstream fixes RUSTSEC-2025-0009
+  * Drop use-generic-implementation-on-non-sse2-x86.patch, Debian has
+    decided to use SSE2 for rust on i386 and the patch is a pain to maintain.
+  * Update remaining patches for new upstream.
+
+ -- Peter Michael Green <plugwash@debian.org>  Tue, 15 Apr 2025 17:32:52 +0000
+
+rust-ring (0.17.8-2) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.17.8 from crates.io using debcargo 2.6.1
+  * Add patch to avoid using x86-specific implementation on non-sse2 x86,
+    since upstream informs us that the x86 assembly implementations require
+    sse2.
+
+ -- Peter Michael Green <plugwash@debian.org>  Sat, 14 Sep 2024 18:06:25 +0000
+
+rust-ring (0.17.8-1) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.17.8 from crates.io using debcargo 2.6.1 (Closes: #1067602)
+
+ -- Peter Michael Green <plugwash@debian.org>  Tue, 13 Aug 2024 17:09:38 +0000
+
+rust-ring (0.17.5-1) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.17.5 from crates.io using debcargo 2.6.0
+  * Update patches for new upsteam.
+  * Upload to unstable.
+
+ -- Peter Michael Green <plugwash@debian.org>  Tue, 07 Nov 2023 18:17:58 +0000
+
+rust-ring (0.17.3-1) experimental; urgency=medium
+
+  * Team upload.
+  * Package ring 0.17.3 from crates.io using debcargo 2.6.0
+  * Add patch to disable slow tests.
+  * Drop update-spin-to-0.9.patch, no longer needed.
+  * Update patches for new upstream.
+  * Remove windows-specific dependency that is not in Debian.
+  * Remove dependency on js feature of getrandom, whic is not
+    provided by Debian's rust-getrandom package.
+
+ -- Peter Michael Green <plugwash@debian.org>  Sat, 14 Oct 2023 17:35:11 +0000
+
+rust-ring (0.16.20-2) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.16.20 from crates.io using debcargo 2.5.0
+  * Upgrade spin dependency to 0.9
+
+ -- Alexander Kjäll <alexander.kjall@gmail.com>  Mon, 24 Oct 2022 20:11:21 -0400
+
+rust-ring (0.16.20-1) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.16.20 from crates.io using debcargo 2.5.0 (Closes: #1010212)
+  * Drop relax-deps.patch, no longer needed
+  * Drop use-array-iter.patch, included in new upstream
+  * Remove dev-dependency on wasm-bindgen-test, it's only used when testing
+    with the wasm-bindgen target which we don't do in Debian.
+  * Disable a test which depends on test data that is not in Debian.
+  * Fix running tests with no-default-features.
+  * Use collapse_features = true
+
+ -- Peter Michael Green <plugwash@debian.org>  Thu, 28 Apr 2022 21:08:04 +0000
+
+rust-ring (0.16.9-4) unstable; urgency=medium
+
+  * Package ring 0.16.9 from crates.io using debcargo 2.4.2
+  * use-array-iter.patch: Fix usage of array::into_iter
+    Thanks to Logan Rosen (Closes: #961387)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 23 May 2020 23:38:56 +0200
+
+rust-ring (0.16.9-3) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.16.9 from crates.io using debcargo 2.4.2
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Mon, 20 Apr 2020 14:16:05 +0200
+
+rust-ring (0.16.9-2) unstable; urgency=medium
+
+  * Team upload.
+  * Package ring 0.16.9 from crates.io using debcargo 2.2.10
+  * librust-ring+lazy-static-dev is NEW.
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 29 Oct 2019 09:07:09 +0100
+
+rust-ring (0.16.9-1) unstable; urgency=medium
+
+  * Package ring 0.16.9 from crates.io using debcargo 2.4.0 (Closes: #935673)
+
+ -- kpcyrd <git@rxv.cc>  Tue, 22 Oct 2019 18:02:25 +0200
+
+rust-ring (0.14.6-1) unstable; urgency=medium
+
+  * Package ring 0.14.6 from crates.io using debcargo 2.2.10
+
+ -- kpcyrd <git@rxv.cc>  Thu, 20 Jun 2019 17:05:16 -0700
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..f4bcfdc
--- /dev/null
+++ b/control
@@ -0,0 +1,77 @@
+Source: rust-ring
+Section: rust
+Priority: optional
+Build-Depends: debhelper-compat (= 13),
+ dh-sequence-cargo
+Build-Depends-Arch: cargo:native <!nocheck>,
+ rustc:native (>= 1.66.0) <!nocheck>,
+ libstd-rust-dev <!nocheck>,
+ librust-cc-1-dev (>= 1.2.8-~~) <!nocheck>,
+ librust-cfg-if-1-dev <!nocheck>,
+ librust-getrandom-0.2+default-dev (>= 0.2.10-~~) <!nocheck>,
+ librust-libc-0.2-dev (>= 0.2.148-~~) <!nocheck>,
+ librust-libc-0.2-dev (>= 0.2.155-~~) <!nocheck>,
+ librust-untrusted-0.9+default-dev <!nocheck>
+Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Uploaders:
+ kpcyrd <git@rxv.cc>
+Standards-Version: 4.7.0
+Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/ring]
+Vcs-Browser: https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/ring
+Homepage: https://github.com/briansmith/ring
+X-Cargo-Crate: ring
+Rules-Requires-Root: no
+
+Package: librust-ring-dev
+Architecture: any
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ librust-cc-1-dev (>= 1.2.8-~~),
+ librust-cfg-if-1-dev,
+ librust-getrandom-0.2+default-dev (>= 0.2.10-~~),
+ librust-libc-0.2-dev (>= 0.2.148-~~),
+ librust-libc-0.2-dev (>= 0.2.155-~~),
+ librust-untrusted-0.9+default-dev
+Provides:
+ librust-ring+alloc-dev (= ${binary:Version}),
+ librust-ring+default-dev (= ${binary:Version}),
+ librust-ring+dev-urandom-fallback-dev (= ${binary:Version}),
+ librust-ring+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
+ librust-ring+less-safe-getrandom-espidf-dev (= ${binary:Version}),
+ librust-ring+std-dev (= ${binary:Version}),
+ librust-ring+test-logging-dev (= ${binary:Version}),
+ librust-ring+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
+ librust-ring+unstable-testing-arm-no-neon-dev (= ${binary:Version}),
+ librust-ring-0-dev (= ${binary:Version}),
+ librust-ring-0+alloc-dev (= ${binary:Version}),
+ librust-ring-0+default-dev (= ${binary:Version}),
+ librust-ring-0+dev-urandom-fallback-dev (= ${binary:Version}),
+ librust-ring-0+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
+ librust-ring-0+less-safe-getrandom-espidf-dev (= ${binary:Version}),
+ librust-ring-0+std-dev (= ${binary:Version}),
+ librust-ring-0+test-logging-dev (= ${binary:Version}),
+ librust-ring-0+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
+ librust-ring-0+unstable-testing-arm-no-neon-dev (= ${binary:Version}),
+ librust-ring-0.17-dev (= ${binary:Version}),
+ librust-ring-0.17+alloc-dev (= ${binary:Version}),
+ librust-ring-0.17+default-dev (= ${binary:Version}),
+ librust-ring-0.17+dev-urandom-fallback-dev (= ${binary:Version}),
+ librust-ring-0.17+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
+ librust-ring-0.17+less-safe-getrandom-espidf-dev (= ${binary:Version}),
+ librust-ring-0.17+std-dev (= ${binary:Version}),
+ librust-ring-0.17+test-logging-dev (= ${binary:Version}),
+ librust-ring-0.17+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
+ librust-ring-0.17+unstable-testing-arm-no-neon-dev (= ${binary:Version}),
+ librust-ring-0.17.14-dev (= ${binary:Version}),
+ librust-ring-0.17.14+alloc-dev (= ${binary:Version}),
+ librust-ring-0.17.14+default-dev (= ${binary:Version}),
+ librust-ring-0.17.14+dev-urandom-fallback-dev (= ${binary:Version}),
+ librust-ring-0.17.14+less-safe-getrandom-custom-or-rdrand-dev (= ${binary:Version}),
+ librust-ring-0.17.14+less-safe-getrandom-espidf-dev (= ${binary:Version}),
+ librust-ring-0.17.14+std-dev (= ${binary:Version}),
+ librust-ring-0.17.14+test-logging-dev (= ${binary:Version}),
+ librust-ring-0.17.14+unstable-testing-arm-no-hw-dev (= ${binary:Version}),
+ librust-ring-0.17.14+unstable-testing-arm-no-neon-dev (= ${binary:Version})
+Description: Experiment - Rust source code
+ Source code for Debianized Rust crate "ring"
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..cabf6b8
--- /dev/null
+++ b/copyright
@@ -0,0 +1,233 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: ring
+Upstream-Contact: Brian Smith <brian@briansmith.org>
+Source: https://github.com/briansmith/ring
+
+Files: *
+Copyright:
+ 2015-2023 Brian Smith <brian@briansmith.org>
+ 1998-2020 The OpenSSL Project
+ 1995-1998 Eric Young <eay@cryptsoft.com>
+ 2014-2023 Google Inc.
+ 2017 Shay Gueron
+ 2002 Sun Microsystems, Inc.
+ 2014-2015 Intel Corporation
+ 2015-2020 CloudFlare, Inc.
+ 2018 Trent Clarke
+ 2016 Simon Sapin
+ 2016 David Judd
+ 2016 Dirkjan Ochtman
+ 2015-2020 the fiat-crypto authors
+License: OpenSSL License
+
+Files: debian/*
+Copyright:
+ 2019-2022 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+ 2019 kpcyrd <git@rxv.cc>
+License: OpenSSL License
+
+License: OpenSSL License
+ Note that it is easy for this file to get out of sync with the licenses in the
+ source code files. It's recommended to compare the licenses in the source code
+ with what's mentioned here.
+ .
+ *ring* is derived from BoringSSL, so the licensing situation in *ring* is
+ similar to BoringSSL.
+ .
+ *ring* uses an ISC-style license like BoringSSL for code in new files,
+ including in particular all the Rust code:
+ .
+    Copyright 2015-2016 Brian Smith.
+ .
+    Permission to use, copy, modify, and/or distribute this software for any
+    purpose with or without fee is hereby granted, provided that the above
+    copyright notice and this permission notice appear in all copies.
+ .
+    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
+    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+    SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+    OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+    CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ .
+ BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL
+ licensing. Files that are completely new have a Google copyright and an ISC
+ license. This license is reproduced at the bottom of this file.
+ .
+ Contributors to BoringSSL are required to follow the CLA rules for Chromium:
+ https://cla.developers.google.com/clas
+ .
+ Files in third_party/ have their own licenses, as described therein. The MIT
+ license, for third_party/fiat, which, unlike other third_party directories, is
+ compiled into non-test libraries, is included below.
+ .
+ The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the
+ OpenSSL License and the original SSLeay license apply to the toolkit. See below
+ for the actual license texts. Actually both licenses are BSD-style Open Source
+ licenses. In case of any license issues related to OpenSSL please contact
+ openssl-core@openssl.org.
+ .
+ The following are Google-internal bug numbers where explicit permission from
+ some authors is recorded for use of their work:
+   27287199
+   27287880
+   27287883
+ .
+   OpenSSL License
+   ---------------
+ .
+ /* ====================================================================
+  * Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without
+  * modification, are permitted provided that the following conditions
+  * are met:
+  *
+  * 1. Redistributions of source code must retain the above copyright
+  *    notice, this list of conditions and the following disclaimer.
+  *
+  * 2. Redistributions in binary form must reproduce the above copyright
+  *    notice, this list of conditions and the following disclaimer in
+  *    the documentation and/or other materials provided with the
+  *    distribution.
+  *
+  * 3. All advertising materials mentioning features or use of this
+  *    software must display the following acknowledgment:
+  *    "This product includes software developed by the OpenSSL Project
+  *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+  *
+  * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+  *    endorse or promote products derived from this software without
+  *    prior written permission. For written permission, please contact
+  *    openssl-core@openssl.org.
+  *
+  * 5. Products derived from this software may not be called "OpenSSL"
+  *    nor may "OpenSSL" appear in their names without prior written
+  *    permission of the OpenSSL Project.
+  *
+  * 6. Redistributions of any form whatsoever must retain the following
+  *    acknowledgment:
+  *    "This product includes software developed by the OpenSSL Project
+  *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+  *
+  * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  * OF THE POSSIBILITY OF SUCH DAMAGE.
+  * ====================================================================
+  *
+  * This product includes cryptographic software written by Eric Young
+  * (eay@cryptsoft.com).  This product includes software written by Tim
+  * Hudson (tjh@cryptsoft.com).
+  *
+  */
+ .
+  Original SSLeay License
+  -----------------------
+ .
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+  * All rights reserved.
+  *
+  * This package is an SSL implementation written
+  * by Eric Young (eay@cryptsoft.com).
+  * The implementation was written so as to conform with Netscapes SSL.
+  *
+  * This library is free for commercial and non-commercial use as long as
+  * the following conditions are aheared to.  The following conditions
+  * apply to all code found in this distribution, be it the RC4, RSA,
+  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+  * included with this distribution is covered by the same copyright terms
+  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+  *
+  * Copyright remains Eric Young's, and as such any Copyright notices in
+  * the code are not to be removed.
+  * If this package is used in a product, Eric Young should be given attribution
+  * as the author of the parts of the library used.
+  * This can be in the form of a textual message at program startup or
+  * in documentation (online or textual) provided with the package.
+  *
+  * Redistribution and use in source and binary forms, with or without
+  * modification, are permitted provided that the following conditions
+  * are met:
+  * 1. Redistributions of source code must retain the copyright
+  *    notice, this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright
+  *    notice, this list of conditions and the following disclaimer in the
+  *    documentation and/or other materials provided with the distribution.
+  * 3. All advertising materials mentioning features or use of this software
+  *    must display the following acknowledgement:
+  *    "This product includes cryptographic software written by
+  *     Eric Young (eay@cryptsoft.com)"
+  *    The word 'cryptographic' can be left out if the rouines from the library
+  *    being used are not cryptographic related :-).
+  * 4. If you include any Windows specific code (or a derivative thereof) from
+  *    the apps directory (application code) you must include an acknowledgement:
+  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+  *
+  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  * SUCH DAMAGE.
+  *
+  * The licence and distribution terms for any publically available version or
+  * derivative of this code cannot be changed.  i.e. this code cannot simply be
+  * copied and put under another distribution licence
+  * [including the GNU Public Licence.]
+  */
+ .
+ .
+ ISC license used for completely new code in BoringSSL:
+ .
+ /* Copyright (c) 2015, Google Inc.
+  *
+  * Permission to use, copy, modify, and/or distribute this software for any
+  * purpose with or without fee is hereby granted, provided that the above
+  * copyright notice and this permission notice appear in all copies.
+  *
+  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
+ .
+ .
+ The code in third_party/fiat carries the MIT license:
+ .
+ Copyright (c) 2015-2016 the fiat-crypto authors (see
+ https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
+ .
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
diff --git a/copyright.debcargo.hint b/copyright.debcargo.hint
new file mode 100644 (file)
index 0000000..ae6e070
--- /dev/null
@@ -0,0 +1,1766 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: ring
+Upstream-Contact: FIXME (overlay) UNKNOWN-AUTHORS
+Source: https://github.com/briansmith/ring
+
+Files: *
+Copyright: FIXME (overlay) UNKNOWN-AUTHORS FIXME (overlay) UNKNOWN-YEARS
+License: Apache-2.0 and ISC
+Comment:
+ FIXME (overlay): Since upstream copyright years are not available in
+ Cargo.toml, they were extracted from the upstream Git repository. This may not
+ be correct information so you should review and fix this before uploading to
+ the archive.
+
+Files: LICENSE-BoringSSL
+Copyright:
+ 2009 The Go Authors. All rights reserved.
+ 2015 The Chromium Authors. All rights reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: LICENSE-other-bits
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: build.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/chacha/asm/chacha-armv4.pl
+Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/chacha/asm/chacha-armv8.pl
+Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/chacha/asm/chacha-x86.pl
+Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/chacha/asm/chacha-x86_64.pl
+Copyright: 2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/cipher/asm/chacha20_poly1305_armv8.pl
+Copyright: 2020, CloudFlare Ltd.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/cipher/asm/chacha20_poly1305_x86_64.pl
+Copyright: 2015, CloudFlare Ltd.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/constant_time_test.c
+Copyright: 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/cpu_intel.c
+Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/crypto.c
+Copyright: 2014 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/curve25519/asm/x25519-asm-arm.S
+Copyright: 2015 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/curve25519/curve25519.c
+Copyright: 2020 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/curve25519/curve25519_64_adx.c
+Copyright: 2023 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/curve25519/curve25519_tables.h
+Copyright: 2020 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/curve25519/internal.h
+Copyright: 2020 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/aes_nohw.c
+Copyright: 2019, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/aes-gcm-avx2-x86_64.pl
+Copyright: 2024 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/aesni-gcm-x86_64.pl
+Copyright: 2013-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/aesni-x86.pl
+Copyright: 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/aesni-x86_64.pl
+Copyright: 2009-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/aesv8-armx.pl
+Copyright: 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/aesv8-gcm-armv8.pl
+Copyright: 2022, ARM Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/bsaes-armv7.pl
+Copyright: 2012-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/ghash-armv4.pl
+Copyright: 2010-2018 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/ghash-neon-armv8.pl
+Copyright: 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/ghash-x86.pl
+Copyright: 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/ghash-x86_64.pl
+Copyright: 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/ghashv8-armx.pl
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/vpaes-armv7.pl
+Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/vpaes-armv8.pl
+Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/vpaes-x86.pl
+Copyright: 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/aes/asm/vpaes-x86_64.pl
+Copyright: 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/asm/armv4-mont.pl
+Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/asm/armv8-mont.pl
+Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/asm/x86-mont.pl
+Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/asm/x86_64-mont.pl
+Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/asm/x86_64-mont5.pl
+Copyright: 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/internal.h
+Copyright:
+ 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+ 2002, Oracle and/or its affiliates. All rights reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/montgomery.c
+Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/bn/montgomery_inv.c
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/asm/p256-armv8-asm.pl
+Copyright: 2015-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
+Copyright:
+ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
+ 2014, Intel Corporation. All Rights Reserved.
+ 2015 CloudFlare, Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/ecp_nistz.c
+Copyright: 2014, Intel Corporation.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/ecp_nistz.h
+Copyright: 2015, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/ecp_nistz384.h
+Copyright: 2014, Intel Corporation.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/ecp_nistz384.inl
+Copyright: 2014, Intel Corporation.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/gfp_p256.c
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/gfp_p384.c
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/p256-nistz-table.h
+Copyright:
+ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
+ 2015, Intel Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/p256-nistz.c
+Copyright:
+ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
+ 2014, Intel Corporation. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/p256-nistz.h
+Copyright:
+ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
+ 2014, Intel Corporation. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/p256.c
+Copyright: 2020 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/p256_shared.h
+Copyright:
+ 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
+ 2014, Intel Corporation. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/p256_table.h
+Copyright: 2020 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/ec/util.h
+Copyright: 2015 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/sha/asm/sha256-armv4.pl
+Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/sha/asm/sha512-armv4.pl
+Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/sha/asm/sha512-armv8.pl
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/fipsmodule/sha/asm/sha512-x86_64.pl
+Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/internal.h
+Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/limbs/limbs.c
+Copyright: 2016-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/limbs/limbs.h
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/limbs/limbs.inl
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/mem.c
+Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/perlasm/arm-xlate.pl
+Copyright: 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/perlasm/x86_64-xlate.pl
+Copyright: 2005-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/perlasm/x86asm.pl
+Copyright: 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/perlasm/x86gas.pl
+Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/perlasm/x86nasm.pl
+Copyright: 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/poly1305/poly1305.c
+Copyright: 2014, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: crypto/poly1305/poly1305_arm.c
+Copyright: 2014, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: include/ring-core/aes.h
+Copyright: 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: include/ring-core/asm_base.h
+Copyright: 2023 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: include/ring-core/base.h
+Copyright: 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: include/ring-core/check.h
+Copyright: 2020 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: include/ring-core/mem.h
+Copyright: 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: include/ring-core/target.h
+Copyright: 2023 The BoringSSL Authors
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: include/ring-core/type_check.h
+Copyright: 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/bsaes-armv7-linux32.S
+Copyright: 2012-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha256-armv4-linux32.S
+Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha256-armv8-ios64.S
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha256-armv8-linux64.S
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha256-armv8-win64.S
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha512-armv4-linux32.S
+Copyright: 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha512-armv8-ios64.S
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha512-armv8-linux64.S
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: pregenerated/sha512-armv8-win64.S
+Copyright: 2014-2020 The OpenSSL Project Authors. All Rights Reserved.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead.rs
+Copyright: 2015-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes/bs.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes/fallback.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes/ffi.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes/hw.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes/vp.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes_gcm.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes_gcm/aarch64.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes_gcm/aeshwclmulmovbe.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/aes_gcm/vaesclmulavx2.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/algorithm.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/chacha.rs
+Copyright:
+ 2016 Brian Smith.
+ 2016, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/chacha/fallback.rs
+Copyright:
+ 2021 Brian Smith.
+ 2014, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/chacha/ffi.rs
+Copyright: 2016-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/chacha20_poly1305/integrated.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/chacha20_poly1305/mod.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/chacha20_poly1305_openssh.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/gcm.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/gcm/clmul.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/gcm/clmulavxmovbe.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/gcm/fallback.rs
+Copyright:
+ 2019, Google Inc.
+ 2020-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/gcm/ffi.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/gcm/neon.rs
+Copyright: 2018-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/gcm/vclmulavx2.rs
+Copyright: 2018-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/less_safe_key.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/nonce.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/opening_key.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/overlapping/array.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/overlapping/base.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/overlapping/mod.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/overlapping/partial_block.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/poly1305.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/poly1305/ffi_arm_neon.rs
+Copyright:
+ 2015-2025 Brian Smith.
+ 2014, 2015, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/poly1305/ffi_fallback.rs
+Copyright:
+ 2015-2025 Brian Smith.
+ 2014, 2015, Google Inc.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/quic.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/sealing_key.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/shift.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/aead/unbound_key.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/agreement.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic.rs
+Copyright: 2017-2023 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/bigint.rs
+Copyright: 2015-2023 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/bigint/boxed_limbs.rs
+Copyright: 2015-2023 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/bigint/modulus.rs
+Copyright: 2015-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/bigint/modulusvalue.rs
+Copyright: 2015-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/bigint/private_exponent.rs
+Copyright: 2015-2023 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/ffi.rs
+Copyright: 2024-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/inout.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/limbs/aarch64/mod.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/limbs/aarch64/mont.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/limbs/mod.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/limbs/x86_64/mod.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/limbs/x86_64/mont.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/limbs512/mod.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/limbs512/storage.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/montgomery.rs
+Copyright: 2017-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/arithmetic/n0.rs
+Copyright: 2015-2022 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/bb/boolmask.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/bb/leaky.rs
+Copyright: 2015-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/bb/mod.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/bb/word.rs
+Copyright: 2015-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/bits.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/bssl.rs
+Copyright: 2015 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/c.rs
+Copyright: 2016-2019 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/cpu.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/cpu/arm.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/cpu/arm/darwin.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/cpu/arm/fuchsia.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/cpu/arm/linux.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/cpu/arm/windows.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/cpu/intel.rs
+Copyright: 2016-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/debug.rs
+Copyright: 2018 Trent Clarke.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/deprecated_constant_time.rs
+Copyright: 2015-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/deprecated_test.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest.rs
+Copyright: 2015-2019 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest/dynstate.rs
+Copyright: 2015-2019 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest/sha1.rs
+Copyright:
+ 2015-2025 Brian Smith.
+ 2016 Simon Sapin.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest/sha2/fallback.rs
+Copyright: 2019-2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest/sha2/ffi.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest/sha2/mod.rs
+Copyright: 2019-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest/sha2/sha2_32.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/digest/sha2/sha2_64.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/curve25519.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/curve25519/ed25519.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/curve25519/ed25519/signing.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/curve25519/ed25519/verification.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/curve25519/ops.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/curve25519/scalar.rs
+Copyright: 2015-2019 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/curve25519/x25519.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/curve.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ecdh.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ecdsa/digest_scalar.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ecdsa/signing.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ecdsa/verification.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ops.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ops/elem.rs
+Copyright: 2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ops/p256.rs
+Copyright: 2016-2023 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/ops/p384.rs
+Copyright: 2016-2023 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/private_key.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/ec/suite_b/public_key.rs
+Copyright: 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/error/input_too_long.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/error/into_unspecified.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/error/key_rejected.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/error/mod.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/error/unspecified.rs
+Copyright: 2016-2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/hkdf.rs
+Copyright: 2015 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/hmac.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/io.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/io/der.rs
+Copyright: 2015 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/io/der_writer.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/io/positive.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/io/writer.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/lib.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/limb.rs
+Copyright:
+ 2016 David Judd.
+ 2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/pbkdf2.rs
+Copyright: 2015 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/pkcs8.rs
+Copyright: 2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/array_split_map.rs
+Copyright: 2023 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/cold_error.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/cstr.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/notsend.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/ptr.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/slice/as_chunks.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/slice/as_chunks_mut.rs
+Copyright: 2025 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/sliceutil.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/polyfill/unwrap_const.rs
+Copyright: 2022 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rand.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa/keypair.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa/padding.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa/padding/pkcs1.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa/padding/pss.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa/public_key.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa/public_key_components.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/rsa/verification.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/signature.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/tests/bits_tests.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/tests/mod.rs
+Copyright: 2024 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: src/testutil.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/aead_tests.rs
+Copyright: 2015-2021 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/agreement_tests.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/constant_time_tests.rs
+Copyright: 2020 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/digest_tests.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/ecdsa_tests.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/ed25519_tests.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/hkdf_tests.rs
+Copyright: 2015 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/hmac_tests.rs
+Copyright: 2015-2016 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/pbkdf2_tests.rs
+Copyright: 2015-2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/quic_tests.rs
+Copyright: 2018 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/rand_tests.rs
+Copyright: 2015-2019 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: tests/rsa_tests.rs
+Copyright: 2017 Brian Smith.
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: third_party/fiat/LICENSE
+Copyright: 2015-2020 the fiat-crypto authors (see the AUTHORS file)
+License: UNKNOWN-LICENSE; FIXME (overlay)
+Comment:
+ FIXME (overlay): These notices are extracted from files. Please review them
+ before uploading to the archive.
+
+Files: debian/*
+Copyright:
+ 2019-2025 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+ 2019-2025 kpcyrd <git@rxv.cc>
+License: Apache-2.0 and ISC
+
+License: Apache-2.0
+ Debian systems provide the Apache 2.0 license in
+ /usr/share/common-licenses/Apache-2.0
+
+License: ISC
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/debcargo.toml b/debcargo.toml
new file mode 100644 (file)
index 0000000..397a4fc
--- /dev/null
@@ -0,0 +1,4 @@
+overlay = "."
+uploaders = ["kpcyrd <git@rxv.cc>"]
+whitelist = ["crypto/**/*.c", "third_party/**/*.c"]
+collapse_features = true
diff --git a/patches/built-using.patch b/patches/built-using.patch
new file mode 100644 (file)
index 0000000..e2abe6c
--- /dev/null
@@ -0,0 +1,8 @@
+--- a/build.rs
++++ b/build.rs
+@@ -250,2 +250,5 @@
+ fn main() {
++    println!("dh-cargo:deb-built-using=ring_core_{}_{}_{}_=0={}", std::env::var("CARGO_PKG_VERSION_MAJOR").unwrap(), std::env::var("CARGO_PKG_VERSION_MINOR").unwrap(), std::env::var("CARGO_PKG_VERSION_PATCH").unwrap(), std::env::var("CARGO_MANIFEST_DIR").unwrap());
++    println!("dh-cargo:deb-built-using=ring_core_{}_{}_{}__test=0={}", std::env::var("CARGO_PKG_VERSION_MAJOR").unwrap(), std::env::var("CARGO_PKG_VERSION_MINOR").unwrap(), std::env::var("CARGO_PKG_VERSION_PATCH").unwrap(), std::env::var("CARGO_MANIFEST_DIR").unwrap());
++
+     // Avoid assuming the working directory is the same is the $CARGO_MANIFEST_DIR so that toolchains
diff --git a/patches/disable-arm-specific-codepaths.patch b/patches/disable-arm-specific-codepaths.patch
new file mode 100644 (file)
index 0000000..4d95980
--- /dev/null
@@ -0,0 +1,999 @@
+Description: Disable arm-specific codepaths
+ they cause the resulting code to come out with armv7 markers, which is
+ a problem given the way rust applications are statically linked.
+
+ Changes in src and tests were made with the commands
+
+ for file in `find src -name '*.rs'` ; do sed -i 's/target_arch = "arm"/target_arch = "armxxx"/g' $file ; done
+ for file in `find tests -name '*.rs'` ; do sed -i 's/target_arch = "arm"/target_arch = "armxxx"/g' $file ; done
+
+ Other changes were made manually.
+
+Author: Peter Michael Green <plugwash@raspbian.org>
+
+--- rust-ring-0.17.14.orig/Cargo.lock
++++ rust-ring-0.17.14/Cargo.lock
+@@ -3,12 +3,6 @@
+ version = 3
+ [[package]]
+-name = "bumpalo"
+-version = "3.7.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
+-
+-[[package]]
+ name = "cc"
+ version = "1.2.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -30,20 +24,8 @@ source = "registry+https://github.com/ru
+ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+ dependencies = [
+  "cfg-if",
+- "js-sys",
+  "libc",
+  "wasi",
+- "wasm-bindgen",
+-]
+-
+-[[package]]
+-name = "js-sys"
+-version = "0.3.74"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705"
+-dependencies = [
+- "once_cell",
+- "wasm-bindgen",
+ ]
+ [[package]]
+@@ -53,46 +35,6 @@ source = "registry+https://github.com/ru
+ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
+ [[package]]
+-name = "log"
+-version = "0.4.25"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
+-
+-[[package]]
+-name = "minicov"
+-version = "0.3.7"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b"
+-dependencies = [
+- "cc",
+- "walkdir",
+-]
+-
+-[[package]]
+-name = "once_cell"
+-version = "1.20.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
+-
+-[[package]]
+-name = "proc-macro2"
+-version = "1.0.93"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
+-dependencies = [
+- "unicode-ident",
+-]
+-
+-[[package]]
+-name = "quote"
+-version = "1.0.38"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
+-dependencies = [
+- "proc-macro2",
+-]
+-
+-[[package]]
+ name = "ring"
+ version = "0.17.14"
+ dependencies = [
+@@ -101,261 +43,22 @@ dependencies = [
+  "getrandom",
+  "libc",
+  "untrusted",
+- "wasm-bindgen-test",
+- "windows-sys 0.52.0",
+-]
+-
+-[[package]]
+-name = "same-file"
+-version = "1.0.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+-dependencies = [
+- "winapi-util",
+ ]
+ [[package]]
+-name = "scoped-tls"
+-version = "1.0.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+-
+-[[package]]
+ name = "shlex"
+ version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+ [[package]]
+-name = "syn"
+-version = "2.0.98"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
+-dependencies = [
+- "proc-macro2",
+- "quote",
+- "unicode-ident",
+-]
+-
+-[[package]]
+-name = "unicode-ident"
+-version = "1.0.16"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
+-
+-[[package]]
+ name = "untrusted"
+ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+ [[package]]
+-name = "walkdir"
+-version = "2.5.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+-dependencies = [
+- "same-file",
+- "winapi-util",
+-]
+-
+-[[package]]
+ name = "wasi"
+ version = "0.11.0+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+-
+-[[package]]
+-name = "wasm-bindgen"
+-version = "0.2.97"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c"
+-dependencies = [
+- "cfg-if",
+- "once_cell",
+- "wasm-bindgen-macro",
+-]
+-
+-[[package]]
+-name = "wasm-bindgen-backend"
+-version = "0.2.97"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd"
+-dependencies = [
+- "bumpalo",
+- "log",
+- "once_cell",
+- "proc-macro2",
+- "quote",
+- "syn",
+- "wasm-bindgen-shared",
+-]
+-
+-[[package]]
+-name = "wasm-bindgen-futures"
+-version = "0.4.47"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d"
+-dependencies = [
+- "cfg-if",
+- "js-sys",
+- "once_cell",
+- "wasm-bindgen",
+- "web-sys",
+-]
+-
+-[[package]]
+-name = "wasm-bindgen-macro"
+-version = "0.2.97"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051"
+-dependencies = [
+- "quote",
+- "wasm-bindgen-macro-support",
+-]
+-
+-[[package]]
+-name = "wasm-bindgen-macro-support"
+-version = "0.2.97"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d"
+-dependencies = [
+- "proc-macro2",
+- "quote",
+- "syn",
+- "wasm-bindgen-backend",
+- "wasm-bindgen-shared",
+-]
+-
+-[[package]]
+-name = "wasm-bindgen-shared"
+-version = "0.2.97"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49"
+-
+-[[package]]
+-name = "wasm-bindgen-test"
+-version = "0.3.47"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3d919bb60ebcecb9160afee6c71b43a58a4f0517a2de0054cd050d02cec08201"
+-dependencies = [
+- "js-sys",
+- "minicov",
+- "once_cell",
+- "scoped-tls",
+- "wasm-bindgen",
+- "wasm-bindgen-futures",
+- "wasm-bindgen-test-macro",
+-]
+-
+-[[package]]
+-name = "wasm-bindgen-test-macro"
+-version = "0.3.47"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "222ebde6ea87fbfa6bdd2e9f1fd8a91d60aee5db68792632176c4e16a74fc7d8"
+-dependencies = [
+- "proc-macro2",
+- "quote",
+- "syn",
+-]
+-
+-[[package]]
+-name = "web-sys"
+-version = "0.3.74"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c"
+-dependencies = [
+- "js-sys",
+- "wasm-bindgen",
+-]
+-
+-[[package]]
+-name = "winapi-util"
+-version = "0.1.9"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+-dependencies = [
+- "windows-sys 0.59.0",
+-]
+-
+-[[package]]
+-name = "windows-sys"
+-version = "0.52.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+-dependencies = [
+- "windows-targets",
+-]
+-
+-[[package]]
+-name = "windows-sys"
+-version = "0.59.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+-dependencies = [
+- "windows-targets",
+-]
+-
+-[[package]]
+-name = "windows-targets"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+-dependencies = [
+- "windows_aarch64_gnullvm",
+- "windows_aarch64_msvc",
+- "windows_i686_gnu",
+- "windows_i686_gnullvm",
+- "windows_i686_msvc",
+- "windows_x86_64_gnu",
+- "windows_x86_64_gnullvm",
+- "windows_x86_64_msvc",
+-]
+-
+-[[package]]
+-name = "windows_aarch64_gnullvm"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+-
+-[[package]]
+-name = "windows_aarch64_msvc"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+-
+-[[package]]
+-name = "windows_i686_gnu"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+-
+-[[package]]
+-name = "windows_i686_gnullvm"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+-
+-[[package]]
+-name = "windows_i686_msvc"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+-
+-[[package]]
+-name = "windows_x86_64_gnu"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+-
+-[[package]]
+-name = "windows_x86_64_gnullvm"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+-
+-[[package]]
+-name = "windows_x86_64_msvc"
+-version = "0.52.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+--- rust-ring-0.17.14.orig/build.rs
++++ rust-ring-0.17.14/build.rs
+@@ -430,7 +430,7 @@ fn build_c_code(
+     out_dir: &Path,
+     core_name_and_version: &str,
+ ) {
+-    let (asm_srcs, obj_srcs) = if let Some(asm_target) = asm_target {
++    let (mut asm_srcs, mut obj_srcs) = if let Some(asm_target) = asm_target {
+         let perlasm_src_dsts = perlasm_src_dsts(generated_dir, asm_target);
+         let asm_srcs = asm_srcs(perlasm_src_dsts);
+@@ -450,6 +450,11 @@ fn build_c_code(
+         (vec![], vec![])
+     };
++    if target.arch == "arm" {
++        asm_srcs = vec![];
++        obj_srcs = vec![];
++    }
++
+     let core_srcs = sources_for_arch(&target.arch)
+         .into_iter()
+         .filter(|p| !is_perlasm(p))
+--- rust-ring-0.17.14.orig/include/ring-core/target.h
++++ rust-ring-0.17.14/include/ring-core/target.h
+@@ -31,9 +31,6 @@
+ #elif defined(__AARCH64EL__) || defined(_M_ARM64)
+ #define OPENSSL_64_BIT
+ #define OPENSSL_AARCH64
+-#elif defined(__ARMEL__) || defined(_M_ARM)
+-#define OPENSSL_32_BIT
+-#define OPENSSL_ARM
+ // All of following architectures are only supported when `__BYTE_ORDER__` can be used to detect
+ // endianness (in crypto/internal.h).
+ #elif !defined(__BYTE_ORDER__)
+@@ -44,13 +41,8 @@
+ #error "Unsupported endianness"
+ #elif defined(__LP64__)
+ #define OPENSSL_64_BIT
+-#elif defined(__ILP32__)
+-#define OPENSSL_32_BIT
+-// Versions of GCC before 10.0 didn't define `__ILP32__` for all 32-bit targets.
+-#elif defined(__MIPSEL__) || defined(__MIPSEB__) || defined(__PPC__) || defined(__powerpc__) || defined(__csky__) || defined(__XTENSA__)
+-#define OPENSSL_32_BIT
+ #else
+-#error "Unknown target CPU"
++#define OPENSSL_32_BIT
+ #endif
+ #if defined(__APPLE__)
+@@ -79,9 +71,9 @@
+ // Disable 32-bit Arm assembly on Apple platforms. The last iOS version that
+ // supported 32-bit Arm was iOS 10.
+-#if defined(OPENSSL_APPLE) && defined(OPENSSL_ARM)
++//#if defined(OPENSSL_APPLE) && defined(OPENSSL_ARM)
+ #define OPENSSL_ASM_INCOMPATIBLE
+-#endif
++//#endif
+ #if defined(OPENSSL_ASM_INCOMPATIBLE)
+ #undef OPENSSL_ASM_INCOMPATIBLE
+--- rust-ring-0.17.14.orig/src/aead/aes.rs
++++ rust-ring-0.17.14/src/aead/aes.rs
+@@ -54,7 +54,7 @@ pub(super) enum Key {
+     #[cfg(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86",
+         target_arch = "x86_64"
+     ))]
+@@ -84,7 +84,7 @@ impl Key {
+         #[cfg(any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             target_arch = "x86_64",
+             target_arch = "x86"
+         ))]
+@@ -109,7 +109,7 @@ impl Key {
+             #[cfg(any(
+                 all(target_arch = "aarch64", target_endian = "little"),
+-                all(target_arch = "arm", target_endian = "little"),
++                all(target_arch = "armxxx", target_endian = "little"),
+                 target_arch = "x86",
+                 target_arch = "x86_64"
+             ))]
+--- rust-ring-0.17.14.orig/src/aead/aes/bs.rs
++++ rust-ring-0.17.14/src/aead/aes/bs.rs
+@@ -12,7 +12,7 @@
+ // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+-#![cfg(all(target_arch = "arm", target_endian = "little"))]
++#![cfg(all(target_arch = "armxxx", target_endian = "little"))]
+ use super::{Counter, Overlapping, AES_KEY};
+--- rust-ring-0.17.14.orig/src/aead/aes/ffi.rs
++++ rust-ring-0.17.14/src/aead/aes/ffi.rs
+@@ -60,7 +60,7 @@ impl AES_KEY {
+     }
+ }
+-#[cfg(all(target_arch = "arm", target_endian = "little"))]
++#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+ impl AES_KEY {
+     pub(super) unsafe fn derive(
+         f: for<'a> unsafe extern "C" fn(*mut AES_KEY, &'a AES_KEY),
+--- rust-ring-0.17.14.orig/src/aead/aes/vp.rs
++++ rust-ring-0.17.14/src/aead/aes/vp.rs
+@@ -14,7 +14,7 @@
+ #![cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86",
+     target_arch = "x86_64"
+ ))]
+@@ -24,7 +24,7 @@ use crate::{cpu, error};
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little")
++    all(target_arch = "armxxx", target_endian = "little")
+ ))]
+ type RequiredCpuFeatures = cpu::arm::Neon;
+@@ -48,7 +48,7 @@ impl Key {
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86_64"
+ ))]
+ impl EncryptBlock for Key {
+@@ -71,7 +71,7 @@ impl EncryptCtr32 for Key {
+     }
+ }
+-#[cfg(all(target_arch = "arm", target_endian = "little"))]
++#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+ impl EncryptCtr32 for Key {
+     fn ctr32_encrypt_within(&self, in_out: Overlapping<'_>, ctr: &mut Counter) {
+         use super::{super::overlapping::IndexError, bs, BLOCK_LEN};
+--- rust-ring-0.17.14.orig/src/aead/aes_gcm.rs
++++ rust-ring-0.17.14/src/aead/aes_gcm.rs
+@@ -27,7 +27,7 @@ use core::ops::RangeFrom;
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86",
+     target_arch = "x86_64"
+ ))]
+@@ -66,7 +66,7 @@ enum DynKey {
+     #[cfg(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little")
++        all(target_arch = "armxxx", target_endian = "little")
+     ))]
+     Simd(Combo<aes::vp::Key, gcm::neon::Key>),
+@@ -112,7 +112,7 @@ impl DynKey {
+         #[cfg(any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little")
++            all(target_arch = "armxxx", target_endian = "little")
+         ))]
+         if let Some(cpu) = cpu.get_feature() {
+             return Self::new_neon(key, cpu);
+@@ -129,7 +129,7 @@ impl DynKey {
+     #[cfg(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little")
++        all(target_arch = "armxxx", target_endian = "little")
+     ))]
+     #[cfg_attr(target_arch = "aarch64", inline(never))]
+     fn new_neon(key: aes::KeyBytes, cpu: cpu::arm::Neon) -> Result<Self, error::Unspecified> {
+@@ -154,7 +154,7 @@ impl DynKey {
+     #[cfg_attr(
+         any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             target_arch = "x86",
+             target_arch = "x86_64",
+         ),
+@@ -210,7 +210,7 @@ pub(super) fn seal(
+         #[cfg(any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             target_arch = "x86_64",
+             target_arch = "x86"
+         ))]
+@@ -243,7 +243,7 @@ fn seal_whole_partial<A: aes::EncryptBlo
+ #[cfg_attr(
+     any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86",
+         target_arch = "x86_64"
+     ),
+@@ -338,7 +338,7 @@ pub(super) fn open(
+         #[cfg(any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             target_arch = "x86_64",
+             target_arch = "x86"
+         ))]
+@@ -386,7 +386,7 @@ fn open_whole_partial<A: aes::EncryptBlo
+         all(
+             any(
+                 all(target_arch = "aarch64", target_endian = "little"),
+-                all(target_arch = "arm", target_endian = "little")
++                all(target_arch = "armxxx", target_endian = "little")
+             ),
+             target_feature = "neon"
+         ),
+--- rust-ring-0.17.14.orig/src/aead/chacha.rs
++++ rust-ring-0.17.14/src/aead/chacha.rs
+@@ -20,7 +20,7 @@ use cfg_if::cfg_if;
+ cfg_if! {
+     if #[cfg(any(
+                 all(target_arch = "aarch64", target_endian = "little"),
+-                all(target_arch = "arm", target_endian = "little"),
++                all(target_arch = "armxxx", target_endian = "little"),
+                 target_arch = "x86",
+                 target_arch = "x86_64"
+             ))] {
+@@ -97,7 +97,7 @@ impl Key {
+                         unsafe { (1, (), Overlapping<'_>) => ChaCha20_ctr32_nohw },
+                         self, counter, in_out, ())
+                 }
+-            } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
++            } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
+                 use cpu::{GetFeature as _, arm::Neon};
+                 const NEON_MIN_LEN: usize = 192 + 1;
+                 if in_out.len() >= NEON_MIN_LEN {
+@@ -183,7 +183,7 @@ impl Counter {
+         test,
+         not(any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             target_arch = "x86_64"
+         ))
+     ))]
+@@ -218,7 +218,7 @@ mod tests {
+         // Always use `MAX_OFFSET` if we hav assembly code.
+         let max_offset = if cfg!(any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             target_arch = "x86",
+             target_arch = "x86_64"
+         )) {
+--- rust-ring-0.17.14.orig/src/aead/gcm/ffi.rs
++++ rust-ring-0.17.14/src/aead/gcm/ffi.rs
+@@ -23,7 +23,7 @@ pub(super) const ZERO_BLOCK: Block = [0u
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86",
+     target_arch = "x86_64"
+ ))]
+@@ -42,7 +42,7 @@ macro_rules! htable_new {
+ ///    `ghash()`.
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86",
+     target_arch = "x86_64"
+ ))]
+@@ -79,7 +79,7 @@ impl KeyValue {
+ ///   * `f` may inspect CPU features.
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86",
+     target_arch = "x86_64"
+ ))]
+@@ -97,7 +97,7 @@ impl HTable {
+     #[cfg(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little")
++        all(target_arch = "armxxx", target_endian = "little")
+     ))]
+     pub(super) unsafe fn gmult(
+         &self,
+--- rust-ring-0.17.14.orig/src/aead/gcm/neon.rs
++++ rust-ring-0.17.14/src/aead/gcm/neon.rs
+@@ -14,7 +14,7 @@
+ #![cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little")
++    all(target_arch = "armxxx", target_endian = "little")
+ ))]
+ use super::{HTable, KeyValue, UpdateBlock, UpdateBlocks, Xi, BLOCK_LEN};
+--- rust-ring-0.17.14.orig/src/aead/overlapping/base.rs
++++ rust-ring-0.17.14/src/aead/overlapping/base.rs
+@@ -38,7 +38,7 @@ impl<'o, T> Overlapping<'o, T> {
+     }
+     #[cfg(any(
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86"
+     ))]
+     pub fn copy_within(self) -> &'o mut [T]
+@@ -55,7 +55,7 @@ impl<'o, T> Overlapping<'o, T> {
+     }
+     #[cfg(any(
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86"
+     ))]
+     pub fn into_slice_src_mut(self) -> (&'o mut [T], RangeFrom<usize>) {
+--- rust-ring-0.17.14.orig/src/aead/poly1305.rs
++++ rust-ring-0.17.14/src/aead/poly1305.rs
+@@ -15,7 +15,7 @@
+ // TODO: enforce maximum input length.
+ use super::{Tag, TAG_LEN};
+-#[cfg(all(target_arch = "arm", target_endian = "little"))]
++#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+ use crate::cpu::GetFeature as _;
+ use crate::{cpu, polyfill::slice::AsChunks};
+@@ -38,7 +38,7 @@ impl Key {
+ }
+ pub(super) enum Context {
+-    #[cfg(all(target_arch = "arm", target_endian = "little"))]
++    #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+     ArmNeon(ffi_arm_neon::State),
+     Fallback(ffi_fallback::State),
+ }
+@@ -46,7 +46,7 @@ pub(super) enum Context {
+ impl Context {
+     #[inline]
+     pub(super) fn from_key(key: Key, cpu: cpu::Features) -> Self {
+-        #[cfg(all(target_arch = "arm", target_endian = "little"))]
++        #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+         if let Some(cpu) = cpu.get_feature() {
+             return ffi_arm_neon::State::new_context(key, cpu);
+         }
+@@ -64,7 +64,7 @@ impl Context {
+     fn update_internal(&mut self, input: &[u8]) {
+         match self {
+-            #[cfg(all(target_arch = "arm", target_endian = "little"))]
++            #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+             Self::ArmNeon(state) => state.update_internal(input),
+             Self::Fallback(state) => state.update_internal(input),
+         }
+@@ -73,7 +73,7 @@ impl Context {
+     pub(super) fn finish(mut self, input: &[u8]) -> Tag {
+         self.update_internal(input);
+         match self {
+-            #[cfg(all(target_arch = "arm", target_endian = "little"))]
++            #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+             Self::ArmNeon(state) => state.finish(),
+             Self::Fallback(state) => state.finish(),
+         }
+--- rust-ring-0.17.14.orig/src/aead/poly1305/ffi_arm_neon.rs
++++ rust-ring-0.17.14/src/aead/poly1305/ffi_arm_neon.rs
+@@ -13,7 +13,7 @@
+ // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+-#![cfg(all(target_arch = "arm", target_endian = "little"))]
++#![cfg(all(target_arch = "armxxx", target_endian = "little"))]
+ use super::{Key, Tag, KEY_LEN, TAG_LEN};
+ use crate::{c, cpu::arm::Neon};
+--- rust-ring-0.17.14.orig/src/arithmetic/montgomery.rs
++++ rust-ring-0.17.14/src/arithmetic/montgomery.rs
+@@ -136,7 +136,7 @@ pub(super) fn limbs_mul_mont(
+                     (MIN_LIMBS, MOD_FALLBACK, ()) => bn_mul_mont_nohw
+                 })
+             }
+-        } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
++        } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
+             const MIN_8X: usize = 8;
+             const MOD_8X: usize = 8;
+             if n.len() >= MIN_8X && n.len() % MOD_8X == 0 {
+@@ -192,7 +192,7 @@ pub(super) fn limbs_mul_mont(
+ cfg_if! {
+     if  #[cfg(not(any(
+             all(target_arch = "aarch64", target_endian = "little"),
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             target_arch = "x86_64")))] {
+         // TODO: Stop calling this from C and un-export it.
+@@ -250,7 +250,7 @@ cfg_if! {
+     feature = "alloc",
+     not(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86_64"
+     ))
+ ))]
+@@ -282,7 +282,7 @@ pub(super) fn limbs_from_mont_in_place(r
+ #[cfg(not(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86_64"
+ )))]
+ fn limbs_mul(r: &mut [Limb], a: &[Limb], b: &[Limb]) {
+@@ -302,7 +302,7 @@ fn limbs_mul(r: &mut [Limb], a: &[Limb],
+     test,
+     not(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86_64",
+     ))
+ ))]
+--- rust-ring-0.17.14.orig/src/cpu.rs
++++ rust-ring-0.17.14/src/cpu.rs
+@@ -63,7 +63,7 @@ macro_rules! impl_get_feature {
+             IntelCpu,
+             #[cfg(any(all(target_arch = "aarch64", target_endian = "little"),
+-                     all(target_arch = "arm", target_endian = "little"),
++                     all(target_arch = "armxxx", target_endian = "little"),
+                      target_arch = "x86", target_arch = "x86_64"))]
+             // Synthesized to ensure the dynamic flag set is always non-zero.
+             //
+@@ -147,7 +147,7 @@ mod features {
+     }
+     cfg_if::cfg_if! {
+-        if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "arm", target_endian = "little"),
++        if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "armxxx", target_endian = "little"),
+                      target_arch = "x86", target_arch = "x86_64"))] {
+             impl Features {
+                 // SAFETY: This must only be called after CPU features have been written
+@@ -186,7 +186,7 @@ mod features {
+ const _: () = assert!(size_of::<Features>() == 0);
+ cfg_if::cfg_if! {
+-    if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "arm", target_endian = "little")))] {
++    if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "armxxx", target_endian = "little")))] {
+         pub mod arm;
+         use arm::featureflags;
+     } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] {
+--- rust-ring-0.17.14.orig/src/cpu/arm.rs
++++ rust-ring-0.17.14/src/cpu/arm.rs
+@@ -23,7 +23,7 @@ mod abi_assumptions {
+     // (`N0`, `Limb`, `LimbMask`, `crypto_word_t` etc.).
+     #[cfg(target_arch = "aarch64")]
+     const _ASSUMED_POINTER_SIZE: usize = 8;
+-    #[cfg(target_arch = "arm")]
++    #[cfg(target_arch = "armxxx")]
+     const _ASSUMED_POINTER_SIZE: usize = 4;
+     const _ASSUMED_USIZE_SIZE: () = assert!(size_of::<usize>() == _ASSUMED_POINTER_SIZE);
+     const _ASSUMED_REF_SIZE: () = assert!(size_of::<&'static u8>() == _ASSUMED_POINTER_SIZE);
+@@ -95,7 +95,7 @@ pub(super) mod featureflags {
+         polyfill::{once_cell::race, usize_from_u32},
+     };
+     use core::num::NonZeroUsize;
+-    #[cfg(all(target_arch = "arm", target_endian = "little"))]
++    #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+     use core::sync::atomic::{AtomicU32, Ordering};
+     pub(in super::super) fn get_or_init() -> cpu::Features {
+@@ -114,7 +114,7 @@ pub(super) mod featureflags {
+             let merged = CAPS_STATIC | detected;
+             #[cfg(all(
+-                target_arch = "arm",
++                target_arch = "armxxx",
+                 target_endian = "little",
+                 target_has_atomic = "32"
+             ))]
+@@ -181,7 +181,7 @@ pub(super) mod featureflags {
+         ;
+     // TODO(MSRV): 32-bit ARM doesn't support any static feature detection yet.
+-    #[cfg(all(target_arch = "arm", target_endian = "little"))]
++    #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
+     pub(in super::super) const STATIC_DETECTED: u32 = 0;
+ }
+--- rust-ring-0.17.14.orig/src/cpu/arm/linux.rs
++++ rust-ring-0.17.14/src/cpu/arm/linux.rs
+@@ -75,7 +75,7 @@ pub fn detect_features() -> u32 {
+ #[cfg(all(
+     not(target_env = "uclibc"),
+-    all(target_arch = "arm", target_endian = "little")
++    all(target_arch = "armxxx", target_endian = "little")
+ ))]
+ pub fn detect_features() -> u32 {
+     use super::CAPS_STATIC;
+--- rust-ring-0.17.14.orig/src/digest/sha2/fallback.rs
++++ rust-ring-0.17.14/src/digest/sha2/fallback.rs
+@@ -22,7 +22,7 @@ use core::{
+ #[cfg_attr(
+     any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86_64"
+     ),
+     allow(dead_code)
+--- rust-ring-0.17.14.orig/src/digest/sha2/mod.rs
++++ rust-ring-0.17.14/src/digest/sha2/mod.rs
+@@ -23,7 +23,7 @@ pub(super) const CHAINING_WORDS: usize =
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86_64"
+ ))]
+ #[macro_use]
+--- rust-ring-0.17.14.orig/src/digest/sha2/sha2_32.rs
++++ rust-ring-0.17.14/src/digest/sha2/sha2_32.rs
+@@ -34,7 +34,7 @@ pub(crate) fn block_data_order_32(
+             } else {
+                 sha2_32_ffi!(unsafe { () => sha256_block_data_order_nohw }, state, data, ())
+             }
+-        } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
++        } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
+             use cpu::{GetFeature as _, arm::Neon};
+             if let Some(cpu) = cpu.get_feature() {
+                 sha2_32_ffi!(unsafe { Neon => sha256_block_data_order_neon }, state, data, cpu)
+--- rust-ring-0.17.14.orig/src/digest/sha2/sha2_64.rs
++++ rust-ring-0.17.14/src/digest/sha2/sha2_64.rs
+@@ -34,7 +34,7 @@ pub(crate) fn block_data_order_64(
+             } else {
+                 sha2_64_ffi!(unsafe { () => sha512_block_data_order_nohw }, state, data, ())
+             }
+-        } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
++        } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
+             use cpu::{GetFeature as _, arm::Neon};
+             if let Some(cpu) = cpu.get_feature() {
+                 sha2_64_ffi!(unsafe { Neon => sha512_block_data_order_neon }, state, data, cpu)
+--- rust-ring-0.17.14.orig/src/ec/curve25519/x25519.rs
++++ rust-ring-0.17.14/src/ec/curve25519/x25519.rs
+@@ -68,7 +68,7 @@ fn x25519_public_from_private(
+     let private_key = ops::MaskedScalar::from_bytes_masked(*private_key);
+     #[cfg(all(
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         any(target_os = "android", target_os = "linux")
+     ))]
+     if let Some(cpu) = <cpu::Features as cpu::GetFeature<_>>::get_feature(&cpu_features) {
+@@ -115,7 +115,7 @@ fn x25519_ecdh(
+         #[allow(unused_variables)] cpu_features: cpu::Features,
+     ) {
+         #[cfg(all(
+-            all(target_arch = "arm", target_endian = "little"),
++            all(target_arch = "armxxx", target_endian = "little"),
+             any(target_os = "android", target_os = "linux")
+         ))]
+         if let Some(cpu) = <cpu::Features as cpu::GetFeature<_>>::get_feature(&cpu_features) {
+@@ -166,7 +166,7 @@ fn x25519_ecdh(
+ // BoringSSL uses `!defined(OPENSSL_APPLE)`.
+ #[cfg(all(
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     any(target_os = "android", target_os = "linux")
+ ))]
+ fn x25519_neon(
+--- rust-ring-0.17.14.orig/src/lib.rs
++++ rust-ring-0.17.14/src/lib.rs
+@@ -82,7 +82,7 @@
+ #![cfg_attr(
+     not(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+-        all(target_arch = "arm", target_endian = "little"),
++        all(target_arch = "armxxx", target_endian = "little"),
+         target_arch = "x86",
+         target_arch = "x86_64",
+         feature = "alloc"
+--- rust-ring-0.17.14.orig/src/polyfill.rs
++++ rust-ring-0.17.14/src/polyfill.rs
+@@ -63,7 +63,7 @@ mod leading_zeros_skipped;
+ #[cfg(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86",
+     target_arch = "x86_64"
+ ))]
+--- rust-ring-0.17.14.orig/src/polyfill/slice/as_chunks.rs
++++ rust-ring-0.17.14/src/polyfill/slice/as_chunks.rs
+@@ -37,7 +37,7 @@ impl<'a, T, const N: usize> AsChunks<'a,
+         self.0
+     }
+-    #[cfg(any(target_arch = "aarch64", target_arch = "arm", target_arch = "x86_64"))]
++    #[cfg(any(target_arch = "aarch64", target_arch = "armxxx", target_arch = "x86_64"))]
+     #[inline(always)]
+     pub fn as_ptr(&self) -> *const [T; N] {
+         self.0.as_ptr().cast()
+--- rust-ring-0.17.14.orig/src/prefixed.rs
++++ rust-ring-0.17.14/src/prefixed.rs
+@@ -84,7 +84,7 @@ macro_rules! prefixed_extern {
+ #[deprecated = "`#[export_name]` creates problems and we will stop doing it."]
+ #[cfg(not(any(
+     all(target_arch = "aarch64", target_endian = "little"),
+-    all(target_arch = "arm", target_endian = "little"),
++    all(target_arch = "armxxx", target_endian = "little"),
+     target_arch = "x86",
+     target_arch = "x86_64"
+ )))]
diff --git a/patches/disable-slow-tests.patch b/patches/disable-slow-tests.patch
new file mode 100644 (file)
index 0000000..232fe24
--- /dev/null
@@ -0,0 +1,6 @@
+Index: ring/Cargo.toml
+===================================================================
+--- ring.orig/Cargo.toml
++++ ring/Cargo.toml
+@@ -210,1 +210,0 @@
+-slow_tests = []
diff --git a/patches/disable-tests-missing-testdata.patch b/patches/disable-tests-missing-testdata.patch
new file mode 100644 (file)
index 0000000..e1124eb
--- /dev/null
@@ -0,0 +1,890 @@
+Index: ring/tests/ed25519_tests.rs
+===================================================================
+--- ring.orig/tests/ed25519_tests.rs
++++ ring/tests/ed25519_tests.rs
+@@ -27,7 +27,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ wasm_bindgen_test_configure!(run_in_browser);
+-/// Test vectors from BoringSSL.
++/* /// Test vectors from BoringSSL.
+ #[test]
+ fn test_signature_ed25519() {
+     test::run(test_file!("ed25519_tests.txt"), |section, test_case| {
+@@ -69,10 +69,10 @@ fn test_signature_ed25519() {
+         Ok(())
+     });
+-}
++} */
+ /// Test vectors from BoringSSL.
+-#[test]
++/*#[test]
+ fn test_signature_ed25519_verify() {
+     test::run(
+         test_file!("ed25519_verify_tests.txt"),
+@@ -91,7 +91,7 @@ fn test_signature_ed25519_verify() {
+             Ok(())
+         },
+     );
+-}
++}*/
+ fn test_signature_verification(
+     public_key: &[u8],
+@@ -127,7 +127,7 @@ enum FromPkcs8Variant {
+     MaybeUnchecked,
+ }
+-#[test]
++/* #[test]
+ fn test_ed25519_from_pkcs8_unchecked() {
+     test_ed25519_from_pkcs8_(
+         FromPkcs8Variant::MaybeUnchecked,
+@@ -189,7 +189,7 @@ fn test_ed25519_from_pkcs8_(
+             Ok(())
+         },
+     );
+-}
++} */
+ #[test]
+ fn ed25519_test_generate_pkcs8() {
+Index: ring/src/aead/aes.rs
+===================================================================
+--- ring.orig/src/aead/aes.rs
++++ ring/src/aead/aes.rs
+@@ -209,7 +209,7 @@ mod tests {
+     use super::*;
+     use crate::testutil as test;
+-    #[test]
++    /* #[test]
+     pub fn test_aes() {
+         test::run(test_vector_file!("aes_tests.txt"), |section, test_case| {
+             assert_eq!(section, "");
+@@ -223,7 +223,7 @@ mod tests {
+             Ok(())
+         })
+-    }
++    } */
+     fn consume_key(test_case: &mut test::TestCase, name: &str) -> Key {
+         let key = test_case.consume_bytes(name);
+Index: ring/src/aead/chacha.rs
+===================================================================
+--- ring.orig/src/aead/chacha.rs
++++ ring/src/aead/chacha.rs
+@@ -213,7 +213,7 @@ mod tests {
+             (0, 0)
+         };
+-    #[test]
++    /* #[test]
+     fn chacha20_test_default() {
+         // Always use `MAX_OFFSET` if we hav assembly code.
+         let max_offset = if cfg!(any(
+@@ -235,7 +235,7 @@ mod tests {
+         chacha20_test(MAX_ALIGNMENT_AND_OFFSET_SUBSET, |key, ctr, in_out, _cpu| {
+             fallback::ChaCha20_ctr32(key, ctr, in_out)
+         });
+-    }
++    } */
+     // Verifies the encryption is successful when done on overlapping buffers.
+     //
+@@ -244,7 +244,7 @@ mod tests {
+     // not exactly overlapping. Such failures are dependent not only on the
+     // degree of overlapping but also the length of the data. `encrypt_within`
+     // works around that.
+-    fn chacha20_test(
++    /*fn chacha20_test(
+         max_alignment_and_offset: (usize, usize),
+         f: impl for<'k, 'o> Fn(&'k Key, Counter, Overlapping<'o>, cpu::Features),
+     ) {
+@@ -288,7 +288,7 @@ mod tests {
+                 Ok(())
+             },
+         );
+-    }
++    }*/
+     fn chacha20_test_case_inner(
+         key: &Key,
+Index: ring/src/arithmetic/bigint.rs
+===================================================================
+--- ring.orig/src/arithmetic/bigint.rs
++++ ring/src/arithmetic/bigint.rs
+@@ -841,7 +841,7 @@ mod tests {
+     impl PublicModulus for M {}
+-    #[test]
++    /* #[test]
+     fn test_elem_exp_consttime() {
+         let cpu_features = cpu::features();
+         test::run(
+@@ -947,9 +947,9 @@ mod tests {
+                 Ok(())
+             },
+         )
+-    }
++    } */
+-    #[test]
++    /* #[test]
+     fn test_elem_squared() {
+         let cpu_features = cpu::features();
+         test::run(
+@@ -970,9 +970,9 @@ mod tests {
+                 Ok(())
+             },
+         )
+-    }
++    } */
+-    #[test]
++    /* #[test]
+     fn test_elem_reduced() {
+         let cpu_features = cpu::features();
+         test::run(
+@@ -1022,7 +1022,7 @@ mod tests {
+                 Ok(())
+             },
+         )
+-    }
++    } */
+     fn consume_elem<M>(
+         test_case: &mut test::TestCase,
+Index: ring/src/ec/suite_b/ops.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ops.rs
++++ ring/src/ec/suite_b/ops.rs
+@@ -656,7 +656,7 @@ mod tests {
+         q_minus_n_plus_n_equals_0_test(&p384::PUBLIC_SCALAR_OPS);
+     }
+-    #[test]
++    /* #[test]
+     fn p256_elem_add_test() {
+         elem_add_test(
+             &p256::PUBLIC_SCALAR_OPS,
+@@ -670,7 +670,7 @@ mod tests {
+             &p384::PUBLIC_SCALAR_OPS,
+             test_vector_file!("ops/p384_elem_sum_tests.txt"),
+         );
+-    }
++    } */
+     fn elem_add_test(ops: &PublicScalarOps, test_file: test::File) {
+         let cops = ops.public_key_ops.common;
+@@ -697,7 +697,7 @@ mod tests {
+     // XXX: There's no `p256_sub` in *ring*; it's logic is inlined into
+     // the point arithmetic functions. Thus, we can't test it.
+-    #[test]
++    /* #[test]
+     fn p384_elem_sub_test() {
+         prefixed_extern! {
+             fn p384_elem_sub(r: *mut Limb, a: *const Limb, b: *const Limb);
+@@ -707,7 +707,7 @@ mod tests {
+             p384_elem_sub,
+             test_vector_file!("ops/p384_elem_sum_tests.txt"),
+         );
+-    }
++    } */
+     fn elem_sub_test(
+         ops: &'static CommonOps,
+@@ -749,7 +749,7 @@ mod tests {
+     // XXX: There's no `p256_div_by_2` in *ring*; it's logic is inlined
+     // into the point arithmetic functions. Thus, we can't test it.
+-    #[test]
++    /* #[test]
+     fn p384_elem_div_by_2_test() {
+         prefixed_extern! {
+             fn p384_elem_div_by_2(r: *mut Limb, a: *const Limb);
+@@ -759,7 +759,7 @@ mod tests {
+             p384_elem_div_by_2,
+             test_vector_file!("ops/p384_elem_div_by_2_tests.txt"),
+         );
+-    }
++    } */
+     fn elem_div_by_2_test(
+         ops: &'static CommonOps,
+@@ -784,7 +784,7 @@ mod tests {
+     }
+     // There is no `ecp_nistz256_neg` on other targets.
+-    #[cfg(target_arch = "x86_64")]
++    /* #[cfg(target_arch = "x86_64")]
+     #[test]
+     fn p256_elem_neg_test() {
+         prefixed_extern! {
+@@ -807,7 +807,7 @@ mod tests {
+             p384_elem_neg,
+             test_vector_file!("ops/p384_elem_neg_tests.txt"),
+         );
+-    }
++    } */
+     fn elem_neg_test(
+         ops: &'static CommonOps,
+@@ -843,7 +843,7 @@ mod tests {
+         })
+     }
+-    #[test]
++    /* #[test]
+     fn p256_elem_mul_test() {
+         elem_mul_test(
+             &p256::COMMON_OPS,
+@@ -857,7 +857,7 @@ mod tests {
+             &p384::COMMON_OPS,
+             test_vector_file!("ops/p384_elem_mul_tests.txt"),
+         );
+-    }
++    }*/
+     fn elem_mul_test(ops: &'static CommonOps, test_file: test::File) {
+         let q = &ops.elem_modulus(cpu::features());
+@@ -874,7 +874,7 @@ mod tests {
+         })
+     }
+-    #[test]
++    /* #[test]
+     fn p256_scalar_mul_test() {
+         scalar_mul_test(
+             &p256::SCALAR_OPS,
+@@ -888,7 +888,7 @@ mod tests {
+             &p384::SCALAR_OPS,
+             test_vector_file!("ops/p384_scalar_mul_tests.txt"),
+         );
+-    }
++    } */
+     fn scalar_mul_test(ops: &ScalarOps, test_file: test::File) {
+         let cpu = cpu::features();
+@@ -906,7 +906,7 @@ mod tests {
+         })
+     }
+-    #[test]
++    /* #[test]
+     fn p256_scalar_square_test() {
+         prefixed_extern! {
+             fn p256_scalar_sqr_rep_mont(r: *mut Limb, a: *const Limb, rep: LeakyWord);
+@@ -916,7 +916,7 @@ mod tests {
+             p256_scalar_sqr_rep_mont,
+             test_vector_file!("ops/p256_scalar_square_tests.txt"),
+         );
+-    }
++    } */
+     // XXX: There's no `p384_scalar_square_test()` because there's no dedicated
+     // `p384_scalar_sqr_rep_mont()`.
+@@ -968,7 +968,7 @@ mod tests {
+         let _ = p384::PRIVATE_SCALAR_OPS.scalar_inv_to_mont(&ZERO_SCALAR, cpu::features());
+     }
+-    #[test]
++    /* #[test]
+     fn p256_point_sum_test() {
+         point_sum_test(
+             &p256::PRIVATE_KEY_OPS,
+@@ -982,7 +982,7 @@ mod tests {
+             &p384::PRIVATE_KEY_OPS,
+             test_vector_file!("ops/p384_point_sum_tests.txt"),
+         );
+-    }
++    } */
+     fn point_sum_test(ops: &PrivateKeyOps, test_file: test::File) {
+         let cpu = cpu::features();
+@@ -1001,7 +1001,7 @@ mod tests {
+         });
+     }
+-    #[test]
++    /* #[test]
+     fn p256_point_sum_mixed_test() {
+         prefixed_extern! {
+             fn p256_point_add_affine(
+@@ -1015,7 +1015,7 @@ mod tests {
+             p256_point_add_affine,
+             test_vector_file!("ops/p256_point_sum_mixed_tests.txt"),
+         );
+-    }
++    } */
+     // XXX: There is no `nistz384_point_add_affine()`.
+@@ -1046,7 +1046,7 @@ mod tests {
+         });
+     }
+-    #[test]
++    /* #[test]
+     fn p256_point_double_test() {
+         prefixed_extern! {
+             fn p256_point_double(
+@@ -1074,7 +1074,7 @@ mod tests {
+             p384_point_double,
+             test_vector_file!("ops/p384_point_double_tests.txt"),
+         );
+-    }
++    } */
+     fn point_double_test(
+         ops: &PrivateKeyOps,
+@@ -1102,7 +1102,7 @@ mod tests {
+     }
+     /// TODO: We should be testing `point_mul` with points other than the generator.
+-    #[test]
++    /* #[test]
+     fn p256_point_mul_test() {
+         let generator = (
+             Elem::from(&p256::GENERATOR.0),
+@@ -1113,9 +1113,9 @@ mod tests {
+             |s, cpu| p256::PRIVATE_KEY_OPS.point_mul(s, &generator, cpu),
+             test_vector_file!("ops/p256_point_mul_base_tests.txt"),
+         );
+-    }
++    } */
+-    /// TODO: We should be testing `point_mul` with points other than the generator.
++    /* /// TODO: We should be testing `point_mul` with points other than the generator.
+     #[test]
+     fn p384_point_mul_test() {
+         let generator = (
+@@ -1137,7 +1137,7 @@ mod tests {
+             &p256::PUBLIC_KEY_OPS,
+             test_vector_file!("ops/p256_point_mul_serialized_tests.txt"),
+         );
+-    }
++    }*/
+     fn point_mul_serialized_test(
+         priv_ops: &PrivateKeyOps,
+@@ -1183,7 +1183,7 @@ mod tests {
+         })
+     }
+-    #[test]
++    /* #[test]
+     fn p256_point_mul_base_test() {
+         point_mul_base_tests(
+             &p256::PRIVATE_KEY_OPS,
+@@ -1199,7 +1199,7 @@ mod tests {
+             |s, cpu| p384::PRIVATE_KEY_OPS.point_mul_base(s, cpu),
+             test_vector_file!("ops/p384_point_mul_base_tests.txt"),
+         );
+-    }
++    }*/
+     pub(super) fn point_mul_base_tests(
+         ops: &PrivateKeyOps,
+Index: ring/src/ec/suite_b/public_key.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/public_key.rs
++++ ring/src/ec/suite_b/public_key.rs
+@@ -71,7 +71,7 @@ mod tests {
+     use crate::cpu;
+     use crate::testutil as test;
+-    #[test]
++    /* #[test]
+     fn parse_uncompressed_point_test() {
+         let cpu = cpu::features();
+         test::run(
+@@ -97,7 +97,7 @@ mod tests {
+                 Ok(())
+             },
+         );
+-    }
++    }*/
+     fn public_key_ops_from_curve_name(curve_name: &str) -> &'static PublicKeyOps {
+         if curve_name == "P-256" {
+Index: ring/src/rsa/padding.rs
+===================================================================
+--- ring.orig/src/rsa/padding.rs
++++ ring/src/rsa/padding.rs
+@@ -97,7 +97,7 @@ mod test {
+     use crate::{digest, error};
+     use alloc::vec;
+-    #[test]
++    /* #[test]
+     fn test_pss_padding_verify() {
+         test::run(
+             test_vector_file!("rsa_pss_padding_tests.txt"),
+@@ -132,10 +132,10 @@ mod test {
+                 Ok(())
+             },
+         );
+-    }
++    }*/
+     // Tests PSS encoding for various public modulus lengths.
+-    #[cfg(feature = "alloc")]
++    /*#[cfg(feature = "alloc")]
+     #[test]
+     fn test_pss_padding_encode() {
+         test::run(
+@@ -173,5 +173,5 @@ mod test {
+                 Ok(())
+             },
+         );
+-    }
++    }*/
+ }
+Index: ring/src/testutil.rs
+===================================================================
+--- ring.orig/src/testutil.rs
++++ ring/src/testutil.rs
+@@ -541,7 +541,7 @@ mod tests {
+     use crate::error;
+     use crate::testutil as test;
+-    #[test]
++    /* #[test]
+     fn one_ok() {
+         test::run(test_vector_file!("test_1_tests.txt"), |_, test_case| {
+             let _ = test_case.consume_string("Key");
+@@ -565,9 +565,9 @@ mod tests {
+             let _ = test_case.consume_string("Key");
+             panic!("Oh noes!");
+         });
+-    }
++    } */
+-    #[test]
++    /* #[test]
+     #[should_panic(expected = "Test failed.")]
+     fn first_err() {
+         err_one(0)
+@@ -636,5 +636,5 @@ mod tests {
+             test_vector_file!("test_1_syntax_error_tests.txt"),
+             |_, _| Ok(()),
+         );
+-    }
++    } */
+ }
+Index: ring/tests/aead_tests.rs
+===================================================================
+--- ring.orig/tests/aead_tests.rs
++++ ring/tests/aead_tests.rs
+@@ -82,11 +82,11 @@ macro_rules! test_aead {
+     }
+ }
+-test_aead! {
++/*test_aead! {
+     { AES_128_GCM, "aead_aes_128_gcm_tests.txt" },
+     { AES_256_GCM, "aead_aes_256_gcm_tests.txt" },
+     { CHACHA20_POLY1305, "aead_chacha20_poly1305_tests.txt" },
+-}
++}*/
+ struct KnownAnswerTestCase<'a> {
+     key: &'a [u8],
+@@ -445,7 +445,7 @@ fn test_aead_nonce_sizes() {
+     assert!(aead::Nonce::try_assume_unique_for_key(&nonce[..16]).is_err()); // 128 bits.
+ }
+-#[allow(clippy::range_plus_one)]
++/* #[allow(clippy::range_plus_one)]
+ #[test]
+ fn aead_chacha20_poly1305_openssh() {
+     // TODO: test_aead_key_sizes(...);
+@@ -492,7 +492,7 @@ fn aead_chacha20_poly1305_openssh() {
+             Ok(())
+         },
+     );
+-}
++} */
+ #[test]
+ fn aead_test_aad_traits() {
+Index: ring/tests/agreement_tests.rs
+===================================================================
+--- ring.orig/tests/agreement_tests.rs
++++ ring/tests/agreement_tests.rs
+@@ -72,7 +72,7 @@ fn agreement_traits() {
+     assert_eq!(unparsed_public_key.as_ref(), &[0x01, 0x02, 0x03]);
+ }
+-#[test]
++/* #[test]
+ fn agreement_agree_ephemeral() {
+     let rng = rand::SystemRandom::new();
+@@ -128,7 +128,7 @@ fn agreement_agree_ephemeral() {
+         Ok(())
+     });
+-}
++} */
+ #[test]
+ fn test_agreement_ecdh_x25519_rfc_iterated() {
+Index: ring/tests/digest_tests.rs
+===================================================================
+--- ring.orig/tests/digest_tests.rs
++++ ring/tests/digest_tests.rs
+@@ -25,7 +25,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
+ wasm_bindgen_test_configure!(run_in_browser);
+ /// Test vectors from BoringSSL, Go, and other sources.
+-#[test]
++/* #[test]
+ fn digest_misc() {
+     test::run(test_file!("digest_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
+@@ -48,7 +48,7 @@ fn digest_misc() {
+         Ok(())
+     });
+-}
++} */
+ /// Test some ways in which `Context::update` and/or `Context::finish`
+ /// could go wrong by testing every combination of updating three inputs
+Index: ring/tests/ecdsa_tests.rs
+===================================================================
+--- ring.orig/tests/ecdsa_tests.rs
++++ ring/tests/ecdsa_tests.rs
+@@ -23,7 +23,7 @@ use ring::{test, test_file};
+ // ECDSA *signing* tests are in src/ec/ecdsa/signing.rs.
+-#[test]
++/* #[test]
+ fn ecdsa_from_pkcs8_test() {
+     let rng = rand::SystemRandom::new();
+@@ -87,7 +87,7 @@ fn ecdsa_from_pkcs8_test() {
+             Ok(())
+         },
+     );
+-}
++} */
+ // Verify that, at least, we generate PKCS#8 documents that we can read.
+ #[test]
+@@ -113,7 +113,7 @@ fn ecdsa_generate_pkcs8_test() {
+     }
+ }
+-#[test]
++/* #[test]
+ fn signature_ecdsa_verify_asn1_test() {
+     test::run(
+         test_file!("ecdsa_verify_asn1_tests.txt"),
+@@ -144,7 +144,7 @@ fn signature_ecdsa_verify_asn1_test() {
+             Ok(())
+         },
+     );
+-}
++} 
+ #[test]
+ fn signature_ecdsa_verify_fixed_test() {
+@@ -178,7 +178,7 @@ fn signature_ecdsa_verify_fixed_test() {
+             Ok(())
+         },
+     );
+-}
++} */
+ #[test]
+ fn ecdsa_test_public_key_coverage() {
+@@ -217,7 +217,7 @@ fn ecdsa_test_public_key_coverage() {
+ // different each time. Because of that, here we simply verify that the
+ // signature verifies correctly. The known-answer tests themselves are in
+ // ecsda/signing.rs.
+-#[test]
++/* #[test]
+ fn signature_ecdsa_sign_fixed_sign_and_verify_test() {
+     let rng = rand::SystemRandom::new();
+@@ -264,9 +264,9 @@ fn signature_ecdsa_sign_fixed_sign_and_v
+             Ok(())
+         },
+     );
+-}
++} */
+-// This test is not a known-answer test, though it re-uses the known-answer
++/* // This test is not a known-answer test, though it re-uses the known-answer
+ // test vectors. Because the nonce is randomized, the signature will be
+ // different each time. Because of that, here we simply verify that the
+ // signature verifies correctly. The known-answer tests themselves are in
+@@ -318,4 +318,4 @@ fn signature_ecdsa_sign_asn1_test() {
+             Ok(())
+         },
+     );
+-}
++}*/
+Index: ring/tests/hkdf_tests.rs
+===================================================================
+--- ring.orig/tests/hkdf_tests.rs
++++ ring/tests/hkdf_tests.rs
+@@ -24,7 +24,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ wasm_bindgen_test_configure!(run_in_browser);
+-#[test]
++/* #[test]
+ fn hkdf_tests() {
+     test::run(test_file!("hkdf_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
+@@ -57,7 +57,7 @@ fn hkdf_tests() {
+         Ok(())
+     });
+-}
++} */
+ #[test]
+ fn hkdf_output_len_tests() {
+Index: ring/tests/hmac_tests.rs
+===================================================================
+--- ring.orig/tests/hmac_tests.rs
++++ ring/tests/hmac_tests.rs
+@@ -24,7 +24,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ wasm_bindgen_test_configure!(run_in_browser);
+-#[test]
++/*#[test]
+ fn hmac_tests() {
+     test::run(test_file!("hmac_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
+@@ -66,7 +66,7 @@ fn hmac_tests() {
+         Ok(())
+     });
+-}
++} */
+ fn hmac_test_case_inner(
+     algorithm: hmac::Algorithm,
+Index: ring/tests/pbkdf2_tests.rs
+===================================================================
+--- ring.orig/tests/pbkdf2_tests.rs
++++ ring/tests/pbkdf2_tests.rs
+@@ -25,7 +25,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ wasm_bindgen_test_configure!(run_in_browser);
+-/// Test vectors from BoringSSL, Go, and other sources.
++/* /// Test vectors from BoringSSL, Go, and other sources.
+ #[test]
+ pub fn pbkdf2_tests() {
+     test::run(test_file!("pbkdf2_tests.txt"), |section, test_case| {
+@@ -69,4 +69,4 @@ pub fn pbkdf2_tests() {
+         Ok(())
+     });
+-}
++} */
+Index: ring/tests/quic_tests.rs
+===================================================================
+--- ring.orig/tests/quic_tests.rs
++++ ring/tests/quic_tests.rs
+@@ -18,7 +18,7 @@ use ring::aead::quic;
+ #[allow(deprecated)]
+ use ring::{test, test_file};
+-#[test]
++/* #[test]
+ fn quic_aes_128() {
+     test_quic(&quic::AES_128, test_file!("quic_aes_128_tests.txt"));
+ }
+@@ -31,7 +31,7 @@ fn quic_aes_256() {
+ #[test]
+ fn quic_chacha20() {
+     test_quic(&quic::CHACHA20, test_file!("quic_chacha20_tests.txt"));
+-}
++}*/
+ fn test_quic(alg: &'static quic::Algorithm, test_file: test::File) {
+     test_key_len(alg);
+Index: ring/tests/rsa_tests.rs
+===================================================================
+--- ring.orig/tests/rsa_tests.rs
++++ ring/tests/rsa_tests.rs
+@@ -30,7 +30,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ wasm_bindgen_test_configure!(run_in_browser);
+-#[test]
++/* #[test]
+ fn rsa_from_pkcs8_test() {
+     test::run(
+         test_file!("rsa_from_pkcs8_tests.txt"),
+@@ -50,9 +50,9 @@ fn rsa_from_pkcs8_test() {
+             Ok(())
+         },
+     );
+-}
++} */
+-#[cfg(feature = "alloc")]
++/* #[cfg(feature = "alloc")]
+ #[test]
+ fn test_signature_rsa_pkcs1_sign() {
+     let rng = rand::SystemRandom::new();
+@@ -91,9 +91,9 @@ fn test_signature_rsa_pkcs1_sign() {
+             Ok(())
+         },
+     );
+-}
++} */
+-#[cfg(feature = "alloc")]
++/* #[cfg(feature = "alloc")]
+ #[test]
+ fn test_signature_rsa_pss_sign() {
+     test::run(
+@@ -129,7 +129,7 @@ fn test_signature_rsa_pss_sign() {
+             Ok(())
+         },
+     );
+-}
++}*/
+ // `KeyPair::sign` requires that the output buffer is the same length as
+ // the public key modulus. Test what happens when it isn't the same length.
+@@ -159,7 +159,7 @@ fn test_signature_rsa_pkcs1_sign_output_
+     }
+ }
+-#[cfg(feature = "alloc")]
++/* #[cfg(feature = "alloc")]
+ #[test]
+ fn test_signature_rsa_pkcs1_verify() {
+     let sha1_params = &[
+@@ -238,9 +238,9 @@ fn test_signature_rsa_pkcs1_verify() {
+             Ok(())
+         },
+     );
+-}
++} */
+-#[cfg(feature = "alloc")]
++/* #[cfg(feature = "alloc")]
+ #[test]
+ fn test_signature_rsa_pss_verify() {
+     test::run(
+@@ -285,11 +285,11 @@ fn test_signature_rsa_pss_verify() {
+             Ok(())
+         },
+     );
+-}
++} */
+ // Test for `primitive::verify()`. Read public key parts from a file
+ // and use them to verify a signature.
+-#[cfg(feature = "alloc")]
++/* #[cfg(feature = "alloc")]
+ #[test]
+ fn test_signature_rsa_primitive_verification() {
+     test::run(
+@@ -307,7 +307,7 @@ fn test_signature_rsa_primitive_verifica
+             Ok(())
+         },
+     )
+-}
++}*/
+ #[cfg(feature = "alloc")]
+ #[test]
+Index: ring/src/ec/suite_b/ecdsa/digest_scalar.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ecdsa/digest_scalar.rs
++++ ring/src/ec/suite_b/ecdsa/digest_scalar.rs
+@@ -71,7 +71,7 @@ mod tests {
+     use crate::testutil as test;
+     use crate::{cpu, digest, ec::suite_b::ops::*, limb};
+-    #[test]
++    /*#[test]
+     fn test() {
+         let cpu = cpu::features();
+         test::run(
+@@ -115,5 +115,5 @@ mod tests {
+                 Ok(())
+             },
+         );
+-    }
++    }*/
+ }
+Index: ring/src/ec/suite_b/ecdsa/signing.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ecdsa/signing.rs
++++ ring/src/ec/suite_b/ecdsa/signing.rs
+@@ -529,7 +529,7 @@ mod tests {
+     use crate::testutil as test;
+     use crate::{rand, signature};
+-    #[test]
++    /*#[test]
+     fn signature_ecdsa_sign_fixed_test() {
+         let rng = rand::SystemRandom::new();
+@@ -611,5 +611,5 @@ mod tests {
+                 Ok(())
+             },
+         );
+-    }
++    }*/
+ }
+Index: ring/src/ec/suite_b/ops/p256.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ops/p256.rs
++++ ring/src/ec/suite_b/ops/p256.rs
+@@ -316,7 +316,7 @@ prefixed_extern! {
+     );
+ }
+-#[cfg(test)]
++/*#[cfg(test)]
+ mod tests {
+     #[cfg(any(
+         all(target_arch = "aarch64", target_endian = "little"),
+@@ -331,4 +331,4 @@ mod tests {
+             test_vector_file!("p256_point_mul_base_tests.txt"),
+         );
+     }
+-}
++}*/
+Index: ring/src/rsa/keypair.rs
+===================================================================
+--- ring.orig/src/rsa/keypair.rs
++++ ring/src/rsa/keypair.rs
+@@ -651,7 +651,7 @@ mod tests {
+     use crate::testutil as test;
+     use alloc::vec;
+-    #[test]
++    /*#[test]
+     fn test_rsakeypair_private_exponentiate() {
+         let cpu = cpu::features();
+         test::run(
+@@ -681,5 +681,5 @@ mod tests {
+                 Ok(())
+             },
+         );
+-    }
++    }*/
+ }
diff --git a/patches/fix-tests-no-default-features.patch b/patches/fix-tests-no-default-features.patch
new file mode 100644 (file)
index 0000000..fc3e309
--- /dev/null
@@ -0,0 +1,746 @@
+Index: ring/src/aead/aes.rs
+===================================================================
+--- ring.orig/src/aead/aes.rs
++++ ring/src/aead/aes.rs
+@@ -205,6 +205,7 @@ fn encrypt_iv_xor_block_using_ctr32(key:
+ }
+ #[cfg(test)]
++#[cfg(feature = "alloc")]
+ mod tests {
+     use super::*;
+     use crate::testutil as test;
+Index: ring/src/aead/poly1305.rs
+===================================================================
+--- ring.orig/src/aead/poly1305.rs
++++ ring/src/aead/poly1305.rs
+@@ -90,6 +90,7 @@ pub(super) fn sign(key: Key, input: &[u8
+ }
+ #[cfg(test)]
++#[cfg(feature = "alloc")]
+ mod tests {
+     use super::*;
+     use crate::testutil as test;
+Index: ring/src/ec/suite_b/ecdsa/digest_scalar.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ecdsa/digest_scalar.rs
++++ ring/src/ec/suite_b/ecdsa/digest_scalar.rs
+@@ -66,6 +66,7 @@ fn digest_scalar_(n: &Modulus<N>, digest
+ }
+ #[cfg(test)]
++#[cfg(feature = "alloc")]
+ mod tests {
+     use super::digest_bytes_scalar;
+     use crate::testutil as test;
+Index: ring/src/ec/suite_b/ecdsa/signing.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ecdsa/signing.rs
++++ ring/src/ec/suite_b/ecdsa/signing.rs
+@@ -525,6 +525,7 @@ static EC_PUBLIC_KEY_P384_PKCS8_V1_TEMPL
+ };
+ #[cfg(test)]
++#[cfg(feature = "alloc")]
+ mod tests {
+     use crate::testutil as test;
+     use crate::{rand, signature};
+Index: ring/src/ec/suite_b/ecdsa/verification.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ecdsa/verification.rs
++++ ring/src/ec/suite_b/ecdsa/verification.rs
+@@ -274,6 +274,7 @@ pub static ECDSA_P384_SHA384_ASN1: Ecdsa
+ };
+ #[cfg(test)]
++#[cfg(feature = "alloc")]
+ mod tests {
+     extern crate alloc;
+     use super::*;
+Index: ring/src/ec/suite_b/ops.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/ops.rs
++++ ring/src/ec/suite_b/ops.rs
+@@ -665,6 +665,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_elem_add_test() {
+         elem_add_test(
+             &p384::PUBLIC_SCALAR_OPS,
+@@ -672,6 +673,7 @@ mod tests {
+         );
+     } */
++    #[cfg(feature = "alloc")]
+     fn elem_add_test(ops: &PublicScalarOps, test_file: test::File) {
+         let cops = ops.public_key_ops.common;
+         let q = &cops.elem_modulus(cpu::features());
+@@ -698,6 +700,7 @@ mod tests {
+     // the point arithmetic functions. Thus, we can't test it.
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_elem_sub_test() {
+         prefixed_extern! {
+             fn p384_elem_sub(r: *mut Limb, a: *const Limb, b: *const Limb);
+@@ -709,6 +712,7 @@ mod tests {
+         );
+     } */
++    #[cfg(feature = "alloc")]
+     fn elem_sub_test(
+         ops: &'static CommonOps,
+         elem_sub: unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),
+@@ -750,6 +754,7 @@ mod tests {
+     // into the point arithmetic functions. Thus, we can't test it.
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_elem_div_by_2_test() {
+         prefixed_extern! {
+             fn p384_elem_div_by_2(r: *mut Limb, a: *const Limb);
+@@ -761,6 +766,7 @@ mod tests {
+         );
+     } */
++    #[cfg(feature = "alloc")]
+     fn elem_div_by_2_test(
+         ops: &'static CommonOps,
+         elem_div_by_2: unsafe extern "C" fn(r: *mut Limb, a: *const Limb),
+@@ -786,6 +792,7 @@ mod tests {
+     // There is no `ecp_nistz256_neg` on other targets.
+     /* #[cfg(target_arch = "x86_64")]
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_elem_neg_test() {
+         prefixed_extern! {
+             fn ecp_nistz256_neg(r: *mut Limb, a: *const Limb);
+@@ -798,6 +805,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_elem_neg_test() {
+         prefixed_extern! {
+             fn p384_elem_neg(r: *mut Limb, a: *const Limb);
+@@ -809,6 +817,7 @@ mod tests {
+         );
+     } */
++    #[cfg(feature = "alloc")]
+     fn elem_neg_test(
+         ops: &'static CommonOps,
+         elem_neg: unsafe extern "C" fn(r: *mut Limb, a: *const Limb),
+@@ -844,6 +853,7 @@ mod tests {
+     }
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_elem_mul_test() {
+         elem_mul_test(
+             &p256::COMMON_OPS,
+@@ -852,11 +862,13 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_elem_mul_test() {
+         elem_mul_test(
+             &p384::COMMON_OPS,
+             test_vector_file!("ops/p384_elem_mul_tests.txt"),
+         );
++    #[cfg(feature = "alloc")]
+     }*/
+     fn elem_mul_test(ops: &'static CommonOps, test_file: test::File) {
+@@ -875,6 +887,7 @@ mod tests {
+     }
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_scalar_mul_test() {
+         scalar_mul_test(
+             &p256::SCALAR_OPS,
+@@ -883,6 +896,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_scalar_mul_test() {
+         scalar_mul_test(
+             &p384::SCALAR_OPS,
+@@ -890,6 +904,7 @@ mod tests {
+         );
+     } */
++    #[cfg(feature = "alloc")]
+     fn scalar_mul_test(ops: &ScalarOps, test_file: test::File) {
+         let cpu = cpu::features();
+         let cops = ops.common;
+@@ -907,6 +922,7 @@ mod tests {
+     }
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_scalar_square_test() {
+         prefixed_extern! {
+             fn p256_scalar_sqr_rep_mont(r: *mut Limb, a: *const Limb, rep: LeakyWord);
+@@ -921,6 +937,7 @@ mod tests {
+     // XXX: There's no `p384_scalar_square_test()` because there's no dedicated
+     // `p384_scalar_sqr_rep_mont()`.
++    #[cfg(feature = "alloc")]
+     fn scalar_square_test(
+         ops: &ScalarOps,
+         sqr_rep: unsafe extern "C" fn(r: *mut Limb, a: *const Limb, rep: LeakyWord),
+@@ -969,6 +986,7 @@ mod tests {
+     }
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_point_sum_test() {
+         point_sum_test(
+             &p256::PRIVATE_KEY_OPS,
+@@ -977,6 +995,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_point_sum_test() {
+         point_sum_test(
+             &p384::PRIVATE_KEY_OPS,
+@@ -984,6 +1003,7 @@ mod tests {
+         );
+     } */
++    #[cfg(feature = "alloc")]
+     fn point_sum_test(ops: &PrivateKeyOps, test_file: test::File) {
+         let cpu = cpu::features();
+@@ -1019,6 +1039,7 @@ mod tests {
+     // XXX: There is no `nistz384_point_add_affine()`.
++    #[cfg(feature = "alloc")]
+     fn point_sum_mixed_test(
+         ops: &PrivateKeyOps,
+         point_add_affine: unsafe extern "C" fn(
+@@ -1047,6 +1068,7 @@ mod tests {
+     }
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_point_double_test() {
+         prefixed_extern! {
+             fn p256_point_double(
+@@ -1062,6 +1084,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_point_double_test() {
+         prefixed_extern! {
+             fn p384_point_double(
+@@ -1076,6 +1099,7 @@ mod tests {
+         );
+     } */
++    #[cfg(feature = "alloc")]
+     fn point_double_test(
+         ops: &PrivateKeyOps,
+         point_double: unsafe extern "C" fn(
+@@ -1103,6 +1127,7 @@ mod tests {
+     /// TODO: We should be testing `point_mul` with points other than the generator.
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_point_mul_test() {
+         let generator = (
+             Elem::from(&p256::GENERATOR.0),
+@@ -1117,6 +1142,7 @@ mod tests {
+     /* /// TODO: We should be testing `point_mul` with points other than the generator.
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_point_mul_test() {
+         let generator = (
+             Elem::from(&p384::GENERATOR.0),
+@@ -1124,6 +1150,7 @@ mod tests {
+         );
+         point_mul_base_tests(
++    #[cfg(feature = "alloc")]
+             &p384::PRIVATE_KEY_OPS,
+             |s, cpu| p384::PRIVATE_KEY_OPS.point_mul(s, &generator, cpu),
+             test_vector_file!("ops/p384_point_mul_base_tests.txt"),
+@@ -1138,7 +1165,9 @@ mod tests {
+             test_vector_file!("ops/p256_point_mul_serialized_tests.txt"),
+         );
+     }*/
++    #[cfg(feature = "alloc")]
++    #[cfg(feature = "alloc")]
+     fn point_mul_serialized_test(
+         priv_ops: &PrivateKeyOps,
+         pub_ops: &PublicKeyOps,
+@@ -1149,6 +1178,7 @@ mod tests {
+         let q = &cops.elem_modulus(cpu);
+         let n = &cops.scalar_modulus(cpu);
+         test::run(test_file, |section, test_case| {
++    #[cfg(feature = "alloc")]
+             assert_eq!(section, "");
+             let p_scalar = consume_scalar(n, test_case, "p_scalar");
+@@ -1184,6 +1214,7 @@ mod tests {
+     }
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn p256_point_mul_base_test() {
+         point_mul_base_tests(
+             &p256::PRIVATE_KEY_OPS,
+@@ -1193,6 +1224,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn p384_point_mul_base_test() {
+         point_mul_base_tests(
+             &p384::PRIVATE_KEY_OPS,
+@@ -1201,6 +1233,7 @@ mod tests {
+         );
+     }*/
++    #[cfg(feature = "alloc")]
+     pub(super) fn point_mul_base_tests(
+         ops: &PrivateKeyOps,
+         f: impl Fn(&Scalar, cpu::Features) -> Point,
+@@ -1255,6 +1288,7 @@ mod tests {
+         }
+     }
++    #[cfg(feature = "alloc")]
+     fn consume_jacobian_point(
+         ops: &PrivateKeyOps,
+         test_case: &mut test::TestCase,
+@@ -1275,6 +1309,7 @@ mod tests {
+         xy: [Limb; 2 * elem::NumLimbs::MAX],
+     }
++    #[cfg(feature = "alloc")]
+     fn consume_affine_point(
+         ops: &PrivateKeyOps,
+         test_case: &mut test::TestCase,
+@@ -1289,6 +1324,7 @@ mod tests {
+         };
+         consume_point_elem(q, &mut p.xy, &elems, 0);
+         consume_point_elem(q, &mut p.xy, &elems, 1);
++    #[cfg(feature = "alloc")]
+         p
+     }
+@@ -1306,6 +1342,7 @@ mod tests {
+         Affine(Elem<E>, Elem<E>),
+     }
++    #[cfg(feature = "alloc")]
+     fn consume_point<E: Encoding>(
+         ops: &PrivateKeyOps,
+         test_case: &mut test::TestCase,
+@@ -1384,6 +1421,7 @@ mod tests {
+         scalar_parse_big_endian_variable(n, AllowZero::Yes, bytes).unwrap()
+     }
++    #[cfg(feature = "alloc")]
+     fn consume_scalar_mont(
+         n: &Modulus<N>,
+         test_case: &mut test::TestCase,
+@@ -1394,6 +1432,7 @@ mod tests {
+         let s = scalar_parse_big_endian_variable(n, AllowZero::Yes, bytes).unwrap();
+         // “Transmute” it to a `Scalar<R>`.
+         Scalar {
++    #[cfg(feature = "alloc")]
+             limbs: s.limbs,
+             m: PhantomData,
+             encoding: PhantomData,
+Index: ring/src/ec/suite_b/public_key.rs
+===================================================================
+--- ring.orig/src/ec/suite_b/public_key.rs
++++ ring/src/ec/suite_b/public_key.rs
+@@ -72,6 +72,7 @@ mod tests {
+     use crate::testutil as test;
+     /* #[test]
++    #[cfg(feature = "alloc")]
+     fn parse_uncompressed_point_test() {
+         let cpu = cpu::features();
+         test::run(
+Index: ring/tests/aead_tests.rs
+===================================================================
+--- ring.orig/tests/aead_tests.rs
++++ ring/tests/aead_tests.rs
+@@ -23,12 +23,16 @@ wasm_bindgen_test_configure!(run_in_brow
+ use core::ops::RangeFrom;
+ use ring::{aead, error};
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ /// Generate the known answer test functions for the given algorithm and test
+ /// case input file, where each test is implemented by a test in `$test`.
+ ///
+ /// All of these tests can be run in parallel.
++#[cfg(feature = "alloc")]
+ macro_rules! test_known_answer {
+     ( $alg:ident, $test_file:expr, [ $( $test:ident ),+, ] ) => {
+         $(
+@@ -46,6 +50,7 @@ macro_rules! test_known_answer {
+ /// Generate the tests for a given algorithm.
+ ///
+ /// All of these tests can be run in parallel.
++#[cfg(feature = "alloc")]
+ macro_rules! test_aead {
+     { $( { $alg:ident, $test_file:expr } ),+, } => {
+         mod aead_test { // Make `cargo test aead` include these files.
+@@ -82,7 +87,8 @@ macro_rules! test_aead {
+     }
+ }
+-/*test_aead! {
++/*#[cfg(feature = "alloc")]
++test_aead! {
+     { AES_128_GCM, "aead_aes_128_gcm_tests.txt" },
+     { AES_256_GCM, "aead_aes_256_gcm_tests.txt" },
+     { CHACHA20_POLY1305, "aead_chacha20_poly1305_tests.txt" },
+@@ -447,6 +453,7 @@ fn test_aead_nonce_sizes() {
+ /* #[allow(clippy::range_plus_one)]
+ #[test]
++#[cfg(feature = "alloc")]
+ fn aead_chacha20_poly1305_openssh() {
+     // TODO: test_aead_key_sizes(...);
+Index: ring/tests/agreement_tests.rs
+===================================================================
+--- ring.orig/tests/agreement_tests.rs
++++ ring/tests/agreement_tests.rs
+@@ -24,7 +24,10 @@ extern crate alloc;
+ use ring::{agreement, error, rand};
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ #[test]
+ fn agreement_traits() {
+@@ -73,6 +76,7 @@ fn agreement_traits() {
+ }
+ /* #[test]
++#[cfg(feature = "alloc")]
+ fn agreement_agree_ephemeral() {
+     let rng = rand::SystemRandom::new();
+@@ -131,6 +135,7 @@ fn agreement_agree_ephemeral() {
+ } */
+ #[test]
++#[cfg(feature = "alloc")]
+ fn test_agreement_ecdh_x25519_rfc_iterated() {
+     let mut k = h("0900000000000000000000000000000000000000000000000000000000000000");
+     let mut u = k.clone();
+@@ -196,6 +201,7 @@ fn x25519_(private_key: &[u8], public_ke
+     })
+ }
++#[cfg(feature = "alloc")]
+ fn h(s: &str) -> Vec<u8> {
+     match test::from_hex(s) {
+         Ok(v) => v,
+Index: ring/tests/digest_tests.rs
+===================================================================
+--- ring.orig/tests/digest_tests.rs
++++ ring/tests/digest_tests.rs
+@@ -16,7 +16,10 @@
+ use ring::digest;
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
+@@ -26,6 +29,7 @@ wasm_bindgen_test_configure!(run_in_brow
+ /// Test vectors from BoringSSL, Go, and other sources.
+ /* #[test]
++#[cfg(feature = "alloc")]
+ fn digest_misc() {
+     test::run(test_file!("digest_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
+Index: ring/tests/ecdsa_tests.rs
+===================================================================
+--- ring.orig/tests/ecdsa_tests.rs
++++ ring/tests/ecdsa_tests.rs
+@@ -19,11 +19,15 @@ use ring::{
+     signature::{self, KeyPair},
+ };
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++ 
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ // ECDSA *signing* tests are in src/ec/ecdsa/signing.rs.
+ /* #[test]
++#[cfg(feature = "alloc")]
+ fn ecdsa_from_pkcs8_test() {
+     let rng = rand::SystemRandom::new();
+@@ -114,6 +118,7 @@ fn ecdsa_generate_pkcs8_test() {
+ }
+ /* #[test]
++#[cfg(feature = "alloc")]
+ fn signature_ecdsa_verify_asn1_test() {
+     test::run(
+         test_file!("ecdsa_verify_asn1_tests.txt"),
+@@ -147,6 +152,7 @@ fn signature_ecdsa_verify_asn1_test() {
+ } 
+ #[test]
++#[cfg(feature = "alloc")]
+ fn signature_ecdsa_verify_fixed_test() {
+     test::run(
+         test_file!("ecdsa_verify_fixed_tests.txt"),
+@@ -218,6 +224,7 @@ fn ecdsa_test_public_key_coverage() {
+ // signature verifies correctly. The known-answer tests themselves are in
+ // ecsda/signing.rs.
+ /* #[test]
++#[cfg(feature = "alloc")]
+ fn signature_ecdsa_sign_fixed_sign_and_verify_test() {
+     let rng = rand::SystemRandom::new();
+@@ -272,6 +279,7 @@ fn signature_ecdsa_sign_fixed_sign_and_v
+ // signature verifies correctly. The known-answer tests themselves are in
+ // ecsda/signing.rs.
+ #[test]
++#[cfg(feature = "alloc")]
+ fn signature_ecdsa_sign_asn1_test() {
+     let rng = rand::SystemRandom::new();
+Index: ring/tests/ed25519_tests.rs
+===================================================================
+--- ring.orig/tests/ed25519_tests.rs
++++ ring/tests/ed25519_tests.rs
+@@ -19,7 +19,10 @@ use ring::{
+     signature::{self, Ed25519KeyPair, KeyPair},
+ };
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++ 
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
+@@ -29,6 +32,7 @@ wasm_bindgen_test_configure!(run_in_brow
+ /* /// Test vectors from BoringSSL.
+ #[test]
++#[cfg(feature = "alloc")]
+ fn test_signature_ed25519() {
+     test::run(test_file!("ed25519_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
+@@ -93,6 +97,7 @@ fn test_signature_ed25519_verify() {
+     );
+ }*/
++#[cfg(feature = "alloc")]
+ fn test_signature_verification(
+     public_key: &[u8],
+     msg: &[u8],
+@@ -136,6 +141,7 @@ fn test_ed25519_from_pkcs8_unchecked() {
+ }
+ #[test]
++#[cfg(feature = "alloc")]
+ fn test_ed25519_from_pkcs8() {
+     test_ed25519_from_pkcs8_(FromPkcs8Variant::Checked, Ed25519KeyPair::from_pkcs8)
+ }
+Index: ring/tests/hmac_tests.rs
+===================================================================
+--- ring.orig/tests/hmac_tests.rs
++++ ring/tests/hmac_tests.rs
+@@ -16,7 +16,10 @@
+ use ring::{digest, hmac};
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
+@@ -26,6 +29,7 @@ wasm_bindgen_test_configure!(run_in_brow
+ /*#[test]
+ fn hmac_tests() {
++#[cfg(feature = "alloc")]
+     test::run(test_file!("hmac_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
+         let digest_alg = test_case.consume_digest_alg("HMAC");
+Index: ring/tests/pbkdf2_tests.rs
+===================================================================
+--- ring.orig/tests/pbkdf2_tests.rs
++++ ring/tests/pbkdf2_tests.rs
+@@ -17,7 +17,10 @@
+ use core::num::NonZeroU32;
+ use ring::{digest, error, pbkdf2};
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
+@@ -28,6 +31,7 @@ wasm_bindgen_test_configure!(run_in_brow
+ /* /// Test vectors from BoringSSL, Go, and other sources.
+ #[test]
+ pub fn pbkdf2_tests() {
++#[cfg(feature = "alloc")]
+     test::run(test_file!("pbkdf2_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
+         let algorithm = {
+Index: ring/tests/quic_tests.rs
+===================================================================
+--- ring.orig/tests/quic_tests.rs
++++ ring/tests/quic_tests.rs
+@@ -16,23 +16,30 @@
+ use ring::aead::quic;
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ /* #[test]
++#[cfg(feature = "alloc")]
+ fn quic_aes_128() {
+     test_quic(&quic::AES_128, test_file!("quic_aes_128_tests.txt"));
+ }
+ #[test]
++#[cfg(feature = "alloc")]
+ fn quic_aes_256() {
+     test_quic(&quic::AES_256, test_file!("quic_aes_256_tests.txt"));
+ }
+ #[test]
++#[cfg(feature = "alloc")]
+ fn quic_chacha20() {
+     test_quic(&quic::CHACHA20, test_file!("quic_chacha20_tests.txt"));
+ }*/
++#[cfg(feature = "alloc")]
+ fn test_quic(alg: &'static quic::Algorithm, test_file: test::File) {
+     test_key_len(alg);
+     test_sample_len(alg);
+Index: ring/src/lib.rs
+===================================================================
+--- ring.orig/src/lib.rs
++++ ring/src/lib.rs
+@@ -91,7 +91,7 @@
+ )]
+ #![no_std]
+-#[cfg(feature = "alloc")]
++#[cfg(any(feature = "alloc",test))]
+ extern crate alloc;
+ #[macro_use]
+Index: ring/src/limb.rs
+===================================================================
+--- ring.orig/src/limb.rs
++++ ring/src/limb.rs
+@@ -393,6 +393,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn test_limbs_are_even() {
+         static EVENS: &[&[LeakyLimb]] = &[
+             &[],
+@@ -463,6 +464,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn test_limbs_equal_limb() {
+         // Equal
+         static EQUAL: &[&[LeakyLimb]] = &[&[1], &[1, 0], &[1, 0, 0], &[1, 0, 0, 0, 0, 0, 0]];
+@@ -636,6 +638,7 @@ mod tests {
+     }
+     #[test]
++    #[cfg(feature = "alloc")]
+     fn test_limbs_minimal_bits() {
+         const ALL_ONES: LeakyLimb = LeakyLimb::MAX;
+         static CASES: &[(&[LeakyLimb], usize)] = &[
+Index: ring/src/testutil.rs
+===================================================================
+--- ring.orig/src/testutil.rs
++++ ring/src/testutil.rs
+@@ -537,6 +537,7 @@ pub mod rand {
+ }
+ #[cfg(test)]
++#[cfg(feature = "alloc")]
+ mod tests {
+     use crate::error;
+     use crate::testutil as test;
+Index: ring/tests/hkdf_tests.rs
+===================================================================
+--- ring.orig/tests/hkdf_tests.rs
++++ ring/tests/hkdf_tests.rs
+@@ -16,7 +16,10 @@
+ use ring::{digest, error, hkdf};
+ #[allow(deprecated)]
+-use ring::{test, test_file};
++use ring::test;
++
++#[cfg(feature = "alloc")]
++use ring::test_file;
+ #[cfg(all(target_arch = "wasm32", target_os = "unknown"))]
+ use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure};
+@@ -25,6 +28,7 @@ use wasm_bindgen_test::{wasm_bindgen_tes
+ wasm_bindgen_test_configure!(run_in_browser);
+ /* #[test]
++#[cfg(feature = "alloc")]
+ fn hkdf_tests() {
+     test::run(test_file!("hkdf_tests.txt"), |section, test_case| {
+         assert_eq!(section, "");
diff --git a/patches/no-js.patch b/patches/no-js.patch
new file mode 100644 (file)
index 0000000..3bfd789
--- /dev/null
@@ -0,0 +1,6 @@
+Index: ring/Cargo.toml
+===================================================================
+--- ring.orig/Cargo.toml
++++ ring/Cargo.toml
+@@ -220,1 +220,0 @@
+-wasm32_unknown_unknown_js = ["getrandom/js"]
diff --git a/patches/no-wasm-bindgen-test.patch b/patches/no-wasm-bindgen-test.patch
new file mode 100644 (file)
index 0000000..6e8fe72
--- /dev/null
@@ -0,0 +1,9 @@
+Index: ring/Cargo.toml
+===================================================================
+--- ring.orig/Cargo.toml
++++ ring/Cargo.toml
+@@ -86,4 +86,0 @@
+-[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies.wasm-bindgen-test]
+-version = "0.3.37"
+-features = ["std"]
+-default-features = false
diff --git a/patches/remove-windows.patch b/patches/remove-windows.patch
new file mode 100644 (file)
index 0000000..f609f23
--- /dev/null
@@ -0,0 +1,12 @@
+Index: ring/Cargo.toml
+===================================================================
+--- ring.orig/Cargo.toml
++++ ring/Cargo.toml
+@@ -216,7 +216,0 @@ unstable-testing-arm-no-hw = []
+-[target.'cfg(all(all(target_arch = "aarch64", target_endian = "little"), target_os = "windows"))'.dependencies.windows-sys]
+-version = "0.52"
+-features = [
+-    "Win32_Foundation",
+-    "Win32_System_Threading",
+-]
+-
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..e7db8c4
--- /dev/null
@@ -0,0 +1,8 @@
+built-using.patch
+no-wasm-bindgen-test.patch
+disable-slow-tests.patch
+disable-tests-missing-testdata.patch
+fix-tests-no-default-features.patch
+remove-windows.patch
+no-js.patch
+disable-arm-specific-codepaths.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..044c1c2
--- /dev/null
+++ b/rules
@@ -0,0 +1,3 @@
+#!/usr/bin/make -f
+%:
+       dh $@ --buildsystem cargo
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..2b432e4
--- /dev/null
@@ -0,0 +1,54 @@
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --all-features
+Features: test-name=rust-ring:@
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features alloc
+Features: test-name=librust-ring-dev:alloc
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets
+Features: test-name=librust-ring-dev:default
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features dev_urandom_fallback
+Features: test-name=librust-ring-dev:dev_urandom_fallback
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features less-safe-getrandom-custom-or-rdrand
+Features: test-name=librust-ring-dev:less-safe-getrandom-custom-or-rdrand
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features less-safe-getrandom-espidf
+Features: test-name=librust-ring-dev:less-safe-getrandom-espidf
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features std
+Features: test-name=librust-ring-dev:std
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features test_logging
+Features: test-name=librust-ring-dev:test_logging
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features unstable-testing-arm-no-hw
+Features: test-name=librust-ring-dev:unstable-testing-arm-no-hw
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features --features unstable-testing-arm-no-neon
+Features: test-name=librust-ring-dev:unstable-testing-arm-no-neon
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
+
+Test-Command: /usr/share/cargo/bin/cargo-auto-test ring 0.17.14 --all-targets --no-default-features
+Features: test-name=librust-ring-dev:
+Depends: dh-cargo (>= 31), rustc (>= 1.66.0), librust-libc-0.2-dev (>= 0.2.148-~~), @
+Restrictions: allow-stderr, skip-not-installable
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..60f24dc
--- /dev/null
+++ b/watch
@@ -0,0 +1,4 @@
+version=4
+opts=filenamemangle=s/.*\/(.*)\/download/ring-$1\.tar\.gz/g,\
+uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\.?\d*)$/$1~$2/ \
+https://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=crates.io/ring .*/crates/ring/@ANY_VERSION@/download